1. Introduction
Current and upcoming remote imaging spectroscopy missions [
1,
2,
3,
4] are able to obtain high spatial and spectral resolution radiance measurements that are, in turn, used to estimate quantities of interest, such as surface mineral composition [
5], vegetation species distribution [
6], snow surface albedo and radiative forcing [
7], algae concentration [
8,
9], natural hazards [
10], and even emission point sources [
11,
12]. Furthermore, the US National Academies’ 2017 Decadal Survey recommended new observations of geophysical properties associated with surface biology and geology. The Surface Biology and Geology (SBG) mission, currently in its early phases, will incorporate measurement capabilities for both visible and shortwave infrared, as well as thermal infrared bands [
4].
The massive amounts of data that the next generation of instruments will produce challenge existing retrieval algorithm implementations. In the past, high-resolution remotely sensed imaging spectroscopy data have been obtained by flying imaging spectrometers on aircraft. Examples include the Airborne Visible/Infrared Imaging Spectrometer Classic (AVIRIS-Classic) [
13], and AVIRIS-NG [
14]. In contrast to these airborne campaigns, the new space-based missions will continuously observe over very large numbers of ground footprints. The Copernicus Hyperspectral Imaging Mission for the Environment (CHIME) [
8]; the Environmental Mapping and Analysis Program (EnMAP) [
2]; the Plankton, Aerosol, Cloud, Ocean Ecosystem Mission (PACE) [
15]; and the PRecursore IperSpettrale della Missione Operativa (PRISMA) [
3] exemplify this technology. For example, EnMAP envisions making measurements at a 30 m ground sampling distance with a 30 km swath width, and with a daily swath lengths of up to 5000 km [
2]. With one hundred million observations daily, a difference of just 0.1 CPU seconds in retrieval speed translates to almost four CPU-months difference in compute time for each day. Therefore, even with shortcuts and processing optimizations [
16], these retrievals will be costly.
Retrieval algorithms solve an inverse problem [
17], which for surface reflectance retrieval means finding the reflectances and atmospheric states when the radiance measurements are given. Radiative transfer models can solve the opposite, the forward problem: computing the at-sensor radiance for given solar irradiance, surface spectral reflectance, and limited atmospheric (and other) state information [
18]. The inverse problem is generally much more difficult to solve than the forward problem. We emphasize that this work presents improvements to how the inverse problem is solved, and does not aim to analyze the correctness of the forward model. The forward function that we use to map the joint surface–atmosphere state to at-sensor radiance is a standard form that has been successfully used in the literature (e.g., [
19,
20]). However, the new inversion method presented in this paper easily generalizes to more complex forward models via additive linearizable corrections. Furthermore, for hyperspectral missions, finding the surface reflectance is the first part of the full retrieval problem. After solving this first inverse problem, the obtained spectra can be used as inputs to domain-specific algorithms, to obtain information about the actual quantities of interest on the surface. Following NASA nomenclature, we refer to the first stage of this procedure as the Level 2a retrieval (hereafter L2a) and to the second stage retrieval as the Level 2b (hereafter L2b) retrieval.
Traditionally, multispectral, rather than hyperspectral, two-stage algorithms have been applied to correct for the atmospheric distortion of the surface reflectance signal and retrieve surface quantities of interest [
21,
22]. These algorithms use a small number of strategically located bands to infer the state of the atmosphere [
22,
23,
24]. A more efficient alternative is to simultaneously correct for atmospheric effects and retrieve L2b quantities. For example, ref. [
25] followed this approach in the case of chlorophyll retrievals, and [
26] introduced a one-step algorithm to retrieve snow grain size from MODIS radiance measurements. While using domain-specific algorithms has proven effective for multispectral data, hyperspectral data are different, as strategies that do not use all available information do not maximally constrain the quantities of interest. For this reason, some investigators have opted to perform the L2a inversion in one step by jointly retrieving both surface and atmospheric reflectance properties [
5,
14,
19,
20,
27].
Rigorous probabilistic retrievals that utilize all available information, in principle, allow for accurately reporting the uncertainties of any L2 products, which is necessary for rigorous hypothesis testing [
28]. Recent work has shown that accounting for uncertainty information in L2a products improves the quality of subsequent L2b retrievals [
29], implying that well-founded statistical models in L2a retrievals will help us more comprehensively understand the signals in L2b data than is possible using non-probabilistic algorithms. A fully probabilistic two-stage retrieval separating L2a and L2b works well, because a full reflectance spectrum with uncertainties serves as an approximate sufficient statistic [
30] for the L2b quantity of interest. This means that surface-composition-agnostic Bayesian retrievals retain the information that is relevant for the L2b inference, thereby decoupling the L2a and L2b stages, while still fully utilizing all the information in the measurements for both stages.
To our knowledge, OE is the only probabilistic, fully Bayesian retrieval algorithm that has been extensively used and validated for surface reflectance retrievals [
31]. It is a maximum a posteriori (MAP) estimation method, which finds the most probable state estimate, conditional on radiance data, and calculates a Gaussian approximation of the posterior uncertainties of this state. OE produces a joint estimate of both atmosphere and surface state components, providing a unified procedure for atmospheric correction and surface reflectance estimation [
19]. A procedure that uses all available information to retrieve the full state vector is generally desirable when solving ill-posed inverse problems [
32], and subsequent research has confirmed that joint estimation produces superior results [
19]. The open-source ISOFIT package, version 2.5.0, [
19,
33] serves as our reference implementation of the OE algorithm. Hereafter, this implementation is termed ROE; we describe it in detail in
Section 2.
While OE is a Bayesian inversion method, the posterior uncertainties it produces are exact only for linear forward models with Gaussian noise and priors [
31]. To represent non-Gaussian posterior distributions, methods such as MCMC [
34] must be used. If performing MCMC simulations is possible despite their very high computational cost, the validity of the OE posterior approximation scheme may be evaluated by comparing the OE results with MCMC retrievals. A preliminary comparison of OE with MCMC for the atmospheric part of the state was performed in [
20], but the posterior uncertainty from OE has never been quantitatively compared with MCMC results, and therefore the accuracy of OE reflectance uncertainty estimates remains unknown.
There are additional difficulties in the L2a inverse problem beyond the non-linearity of the forward model. Due to the curse of dimensionality, Bayesian inference in high-dimensional spaces is more difficult than in low-dimensional spaces. This is true both for MAP estimation schemes such as OE and for sampling-based methods such as MCMC. Furthermore, the sheer volume of space-borne imaging spectroscopy measurements places constraints on the available compute time for a single retrieval. Given the downstream applications discussed above, L2a algorithms should ideally be able to utilize what is known about the input uncertainties and propagate them to the inferred surface reflectances.
In this paper, we introduce the accelerated optimal estimation (AOE) algorithm, which is a modification of the OE algorithm discussed above. The AOE algorithm simplifies the joint state estimation problem to a degree that enables probabilistic surface reflectance retrievals in one to two milliseconds on one CPU core—up to 300 times faster than our reference OE implementation. We then use Markov chain Monte Carlo (MCMC) [
34] samplers, which are not subject to the linearization constraints of OE, to characterize how the true non-Gaussian posterior distributions should look. We evaluate the correctness of the OE and AOE estimates against the MCMC results using distributional distances.
This manuscript is organized as follows.
Section 2 describes optimal estimation, and introduces accelerated optimal estimation and the theory behind it, followed by short descriptions of (1) Markov chain Monte Carlo (MCMC) and (2) how radiative transfer is handled in practice.
Section 3 describes the data that were used in our case study, including radiance measurements, prior distributions, and instrument noise models. This is followed by the results in
Section 4, which include examining the retrieval performance metrics for the selected target footprints, timing information, comparisons and analyses of MCMC results, and a demonstration of AOE with a larger scene. We discuss the numerical results further in
Section 5, followed by the conclusions in
Section 6.
2. Methods
Probabilistic methods for inferring surface reflectance from top-of-atmosphere radiance include both point-estimate- and sampling-based inversion methods. In this section, we first review how radiance observations relate to surface reflectance and how optimal estimation fits into the Bayesian paradigm. We then describe the accelerated OE algorithm and Markov chain Monte Carlo methods used in this paper. Finally, we go through the different retrieval configurations used in the experiments.
2.1. Reflectance Retrieval Inverse Problem and OE
2.1.1. Forward Modeling
Let
be the nonlinear forward model mapping a state vector
to the at-sensor radiance vector
. The vectors
and
contain the atmospheric and surface parts of the state vector. In the simulations presented in the later sections, the atmospheric part
contains two parameters: columnar water vapor concentration [g cm
−2] and aerosol optical thickness (AOT, dimensionless), and the surface part
contains the hemispherical-directional reflectance factor (HDRF) [
35] for each observed spectral band. This vector
could, in principle, also include any other parameters that need to be inferred, such as those that control aspects of scattering, radiative transfer, or geometry. However, the parameters that are known based on prior knowledge do not need to be included.
The length of is generally low (in our case, two), whereas contains hundreds of spectral HDRFs. In what follows, we use the symbol “:=” whenever we define variables, and the regular “=” to signify that the left- and right-hand sides are equal.
The reflectance retrieval inverse problem is the problem of finding
and
given certain observations
and the forward model
. To solve this problem using probabilistic methods, we model the observed at-sensor radiance data
by
The model-observation mismatch
may include terms pertaining to either
(observation error) or
(model discrepancy). While good models for calibrating and estimating the former exist, estimating the latter requires top-down methods and is generally hard; see [
36] for the only attempt at modeling discrepancy estimation in this context that we are aware of.
To keep the modeling setup simple, we only include the well-known zero-mean Gaussian measurement noise in
, and write
Due to this simplification,
may now be an underestimate of the true error, and hence the posterior uncertainties may also end up being underestimated. However, this will not affect the validity of the results or the analysis below, since the forms of (
1)–(
2) would not be affected by including a Gaussian model discrepancy term. As written, the inverse problem is also underdetermined, since we have a larger number of parameters than observations. This is taken care of by the added constraints that the prior distribution provides, as described in
Section 2.1.2.
The relationship between the at-sensor reflectance
ℓ and modeled at-sensor radiance
is defined as
where
is the solar zenith angle,
is the solar irradiance, and the subscripts
i denote a particular channel in the spectra,
. The reflectance
ℓ depends on the state vector
by
where
is a random vector of path reflectances,
is a random vector of atmospheric transmissivities, and
is a random vector of spherical albedos. All three are vector-valued functions of
. We absorb the constants in (
3) into these vector quantities by defining
and
, after which the forward model reads
2.1.2. Probability Model
The inversion methods considered in this paper are based on Bayes’ theorem, which describes how prior knowledge may be combined with information in the observation Equation (
1) to specify the conditional probability of states
, given observations
,
The term on the left side of the equation is the posterior probability distribution of state
, which we also refer to as the joint posterior density of
and
. The term
is the likelihood, and it codifies the plausibility of making the observations
given our forward model and state
. The second term in the numerator,
, is the marginal distribution of the state variables and is called the prior distribution, because it codifies our prior beliefs, before seeing
, about the state. Finally,
(evidence) is a normalization constant that does not come into play with the algorithms that are considered in this work.
The Gaussian statistics in (
2) lead to the unnormalized Gaussian likelihood
where we use the standard notation
. We also prescribe a Gaussian prior for
,
with
and
being the prior mean and prior covariance for
. We would like to remark that, while it is possible that heavier-tailed priors could possibly provide improved retrieval performance in some scenarios, the computation of the posterior mean with AOE depends on the Gaussian formalism, and, for this reason, we have not included them in the present work.
We use a uniform (flat) prior for the atmosphere, for which reason,
does not appear in (
8). With a linear
, this formulation would lead to a Gaussian posterior distribution
, but here
is not linear in
and the posterior is non-Gaussian.
2.1.3. Optimal Estimation
Optimal estimation [
31] has been used successfully in recent years to retrieve reflectance from radiance in imaging spectroscopy problems [
19,
20,
27,
29]. It is a form of maximum a posteriori estimation that tries to find for the most probable state
using iterative optimization algorithms such as Levenberg–Marquardt or Broyden–Fletcher–Goldfarb–Shanno [
37] to maximize the posterior probability with respect to
. This requires finding the gradient of the scalar function
with respect to the high-dimensional vector
at each step. Once
has been found, OE computes a linearization of the model,
, such that
, after which linear theory yields the Gaussian posterior covariance approximation,
In the OE literature, the Jacobian matrix
is sometimes denoted by
or
.
The maximization in (
9) is typically performed by minimizing the loss function
which with the Gaussian noise and prior distributions above becomes
2.2. The Accelerated Optimal Estimation (AOE) Algorithm for Surface Reflectance Retrievals
Equation (
9) specifies that we search for the mode of the posterior density as a function of the full state vector
. However, this ignores a key feature of reflectance retrieval: the optimal surface parameters, which constitute the vast majority of state vector elements, are trivial to calculate for a fixed atmosphere. Our proposed algorithm exploits this structure, reorganizing the generic optimization as a nested algorithm that is far faster than the original. We note that with the specific form of
in (
4), we can solve for the maximum a posteriori
analytically if we fix the atmospheric state
, use a diagonal
, and prescribe a uniform prior for all of
. When these conditions are not met, given the form of (
12), we can still perform the optimization faster than the strategy in (
9) by nesting it:
The outer optimization is performed in a low-dimensional space, and while the inner optimization is high-dimensional, the conditional mean can be efficiently approximated in closed form.
2.2.1. AOE Inner Loop: Finding the Conditional MAP Estimate of the Surface State
Let
denote an atmospheric state that has been fixed to a specific value, and let the radiative transfer-dependent quantities produced using this atmospheric state be
,
, and
. An approximation to the conditional mean in the inner maximization of (
13) is obtained by approximating the first term in (
12) with
where
is a linearization of the forward function with elements
Here, the vector
in the denominator is an estimate of the value of
at iteration
of the algorithm described in Algorithm 1 below. In this paper, we denote the algorithm iterations for all algorithms by upper indexes in parentheses.
| Algorithm 1: Iterative algorithm for finding the approximate mean conditional posterior reflectance and corresponding approximate covariance. |
![Remotesensing 17 03719 i001 Remotesensing 17 03719 i001]() |
To approximate the conditional posterior density
, let
be the diagonal matrix with elements
, so that we can write
The diagonal elements of
are always positive, since both the spherical albedo
and the surface reflectances
are between zero and one. We also define
Then, by rearranging terms in (
15), the logarithm of the approximate likelihood turns out to be proportional to a quadratic form:
Here, (
19) is the approximate unnormalized log likelihood, in which we multiply the
by identity
on both sides in (
20). Equation (
21) rearranges the terms, after which we substitute the definition in (
16) for
. The simplified result in (
23) then yields the approximate unnormalized likelihood function,
In performing the retrieval, we use the specified Gaussian prior for
and a uniform prior for
(any Gaussian prior for
would work, but we choose to use an uninformative prior for
). The priors for
are furthermore truncated to only include realistic values; their limits are given in
Section 3. In the inner loop optimization, where
is kept constant, this prior specification yields the prior term
. By using standard linear theory for solving generalized Tikhonov-regularized least squares problems, the conditional posterior covariance in the inner loop optimization over the vector
becomes
The full approximate posterior conditioned on
is then given by
where the mean is given by
Note that the mean
and covariance
depend on a specific value of
via quantities
,
, and
, which are embedded in terms in (
25)–(
27).
While the equations above described the Gaussian approximation for a single outer loop iteration
only, the Gaussian form in (
26) allows finding the conditional posterior mean of the surface reflectances given the atmosphere with the fast iterative algorithm InnerLoop(), shown in the bottom part of Algorithm 1. A single iteration is often enough to obtain a good estimate of the mean.
2.2.2. AOE Outer Loop—Finding the MAP Atmospheric State
The outer loop optimization, ref. (
13), is shown in function AOE() in the top part of Algorithm 1. When executing this algorithm, the best joint state is found by maximizing the probability over the atmospheric state
. The objective function evaluated at line 6 of AOE() at each outer loop iteration
is the
in (
12) with
, where
is given by the function InnerLoop(), also in Algorithm 1. We note that the outer loop optimization is carried out without explicit Jacobian computations, and even though adding them would be possible, the convergence using the current setup is already very fast without them, see
Section 2.5 and
Section 4.5.
2.2.3. Final AOE Step Yields an Accurate Gaussian Approximation of Posterior Distribution
After the final atmospheric state
is obtained, the function InnerLoop() in Algorithm 1 is run one more time with a larger value of iterations to improve convergence. This produces the final estimate of the posterior mean of the surface state,
. Depending on the application, the reported uncertainty may then be either the final conditional covariance
, returned on line 16 of AOE(), in Algorithm 1, or an OE estimate can be computed with (
10), possibly also taking into account the effects of
on the covariance. The specific normal approximation produced by the AOE algorithm in Algorithm 1 is given in the later sections, denoted by
. In
Section 4, we compare several different methods to estimate this covariance.
2.2.4. Tuning the Computational Cost of AOE
The AOE algorithm in Algorithm 1 consists of alternating between repeatedly finding the conditional mean of
, and moving in the low-dimensional atmospheric part of the state space to minimize an objective function. Varying optimization parameters provides opportunities to increase the model precision, often at a higher cost. Obvious choices include the choice of OuterLoopAlgorithm in Algorithm 1, the number of outer loop optimization iterations, the constant
and convergence criteria used in the AOE algorithm, the structure of prior and noise covariances, and the spectral ranges included in the retrieval. Since the cost of computing the conditional mean in (
27) is
, we can further make the AOE algorithm faster by using only a subset of the channels for the inversion. However, to obtain the correct atmospheric parameter values, the effects of aggressive spectral thinning need to be analyzed carefully, to ensure proper convergence. The AOE algorithm parameters for the experiments presented in this paper are shown in
Table 1 and discussed in
Section 2.5. The analysis of the results with respect to these trade-offs are discussed in
Section 5.2.
2.3. Markov Chain Monte Carlo for Surface Reflectance Retrievals
MCMC algorithms are used to draw from posterior distributions in situations where procedures for directly generating samples do not exist but evaluating the prior probability density and the likelihood function up to a multiplicative constant is still possible. The chain of state vectors generated by an MCMC algorithm describes the posterior distribution in a way analogous to how samples from a Gaussian distribution describe that Gaussian distribution. A precise description of non-Gaussian posterior distributions of and may therefore be generated using MCMC algorithms.
Most commonly used MCMC algorithms based on the Metropolis algorithm [
38] generate the chain of samples by repeatedly iterating a sequence of three steps. Assuming that at a given iteration
of the MCMC chain is at location
in the parameter space, the first step in generating the next sample is proposing a new point
, where
. The distribution
is called the proposal distribution and is chosen by the user. Gaussian proposal distributions are a common choice for
, in which case,
determines the mean and the covariance of the proposal. After proposing the state vector
, the scaled posterior density,
, is evaluated, and then, based on an acceptance criterion, the vector
is either added to the chain (
) or the vector
is repeated in the chain (
). This sequence is repeated, possibly millions of times—the higher the dimension of
, the more samples are needed.
In practice, the scaled posterior density is computed via evaluating the loss function, (
12), which is the negative logarithm of the posterior with a constant offset. We point out that the radiative transfer outputs required for the log-likelihood evaluation are obtained from a look-up table, as described below, as sequentially running high-fidelity radiative transfer codes sufficiently many times is not practical.
In Metropolis-type algorithms with a Gaussian proposal distribution, the probability of accepting and adding it to the chain as the member, as opposed to repeating , is the ratio of the posterior densities at the proposed and the previous parameter values, i.e., . Hence, proposed points with a higher posterior probability than the previous point are always accepted, whereas proposed points with a lower posterior probability than the previous state in the chain are sometimes accepted.
The number of samples needed in an MCMC experiment depends on the quality of the proposal distribution
. To avoid the need to hand-tune the parameters
, we used the adaptive Metropolis (AM) MCMC algorithm [
39] for sampling, with a zero-mean Gaussian
. AM finds optimal values of
as the sampling proceeds, in order to minimize the autocorrelatedness of the MCMC chain. Since AM uses Gaussian proposals in its standard configuration, the less Gaussian the target distribution, the less optimal the AM adaptation scheme may become. To ensure that we used an MCMC algorithm that was appropriate for the problem, we also performed MCMC retrievals with several alternative proposal schemes. These included using transformed proposals in radiance space, non-adaptive Metropolis sampling, component-wise Metropolis sampling, and approximate Metropolis-within-Gibbs sampling. All these methods produced results that were consistent with one another. The AM algorithm was both stable and fast, and it easily produced a more than sufficient number of uncorrelated draws from the posterior distributions. The AM algorithm is described in Algorithm 2.
Compared to earlier work in [
20], we performed MCMC slightly differently, to ensure convergence and proper statistics. Most notably, we used an adaptive algorithm (AM instead of the standard Metropolis) to decrease the correlatedness of the MCMC samples, we did not restart the chains at regular intervals to follow standard practice, and the chains that we generated were substantially longer (five million vs. 20 thousand iterations).
While we performed extensive MCMC simulations over both surface and atmospheric states, the results from these joint MCMC inversions are complex and require lengthy analyses. For these reasons, we restrict the results presented in this paper to the case where the atmospheric state was fixed.
| Algorithm 2: Adaptive Metropolis MCMC algorithm as used in this work. The function UpdateProposal updates the parameters of the proposal distribution whenever the criterion update_criterion is satisfied. The scalar is the acceptance probability and Uniform() generates uniformly random numbers from interval . The output is a set of correlated samples from the true posterior distribution. |
![Remotesensing 17 03719 i002 Remotesensing 17 03719 i002]() |
2.4. Radiative Transfer
Inverting the surface reflectance from a measured radiance requires modeling how solar radiation travels in the atmosphere, interacts with the surface, scatters back, and finally ends up at the instrument sensor. These processes can be modeled using specialized and complex radiative transfer models. When solving the reflectance retrieval inverse problem, radiative transfer enters the model in the terms
(path reflectance),
(total transmittance including both upward and downward, diffuse and direct components), and
(spherical albedo) in the forward function, (
4). In this work, we use the computationally demanding MODTRAN 6.0 [
18] atmospheric radiative transfer model (RTM), which provides the radiative-transfer-dependent quantities required by the forward model in (
4). The parameters in
are, however, given as inputs to MODTRAN, and learning those parameters can be framed as tuning the radiative transfer to specific retrieval conditions. We treat the radiative transfer model as a black box, meaning that we do not attempt to analyze how it works or was implemented here.
Since radiative transfer computations are expensive, running MODTRAN, e.g., at every MCMC iteration, is prohibitive. As is a common practice in atmospheric correction procedures, all versions of the ISOFIT software solves this problem by generating a look-up table (LUT) for the atmospheric parameters, from which
,
, and
are interpolated based on the exact values in
[
40]. This LUT acts like a fast radiative transfer emulator. We utilize this same strategy for AOE and MCMC retrievals, and use the same interpolation grids for all retrieval types for a given retrieval target. The LUT grids are described in
Section 3.
The speed of LUT interpolation also plays a role in retrieval performance, and for this reason, the AOE and MCMC codes use a custom fast linear interpolator that replicates the RegularGridInterpolator interface in SciPy. The LUT interpolation in AOE and MCMC retrievals was cross-validated against the ROE implementation, to ensure that the results matched, and any differences in log posterior probabilities resulting from model-interpolation differences were smaller than the precision at which the results are presented in
Section 4. The linear interpolation code implementations were tested to agree with the machine precision.
2.5. Retrieval Configurations
This paper compared five different retrieval methods, three of which were AOE retrievals. Of the rest, one was a conventional OE retrieval (ROE, within ISOFIT), and one was a benchmark retrieval using MCMC. The retrieval configurations are summarized in
Table 1, and all retrieval types were performed for five different sites, described below in
Section 3. The first column shows the name of the retrieval algorithm, the second column shows the number of optimization iterations
N (outer loop for AOE), and the third column shows the optimization algorithm.
The three AOE retrievals reflected different compromises between speed and accuracy, the latter of which is defined here as the posterior probability of the retrieved state. The different AOE configurations were chosen to demonstrate the range of possibilities available within the AOE framework. AOE
0 utilizes all channels in the non-masked spectral range (see
Section 3), and performs up to four outer loop iterations with the sequential least squares programming (SLSQP) algorithm [
41]. This was enough to achieve convergence for all test targets. AOE
1 ran a maximum of three iterations of SLSQP, and used only half of the wavelengths, rather than the full set. This makes matrix inversion much faster, speeding up the retrieval. The last iteration of the inner loop in AOE
1 used all the channels, so that the final result was an estimate of the full state and its covariance matrix. In the last retrieval, AOE
2, no outer loop optimization was performed; the initial value of
was not changed and only the inner loop, shown in Algorithm 1, was executed. In
Section 4, we show that even this simplified retrieval method was able to converge to good reflectance estimates.
When optimizing over the atmosphere, was set to 1 in both AOE0 and AOE1. After finding the , in order to find the final , was set to 4 for AOE0 and 2 for AOE1 and AOE2. While , which was used when finding the best , did not produce fully converged results, the obtained from using were already very close to the conditional mean. The value of in AOE0 was selected to show how well the AOE algorithm could converge in the best case—in our tests, the inner loop virtually always fully converged in four iterations. We used a standard implementation of SLSQP available in the SciPy v1.6 Python package.
We also performed OE retrievals of all the retrieval targets using ISOFIT software, version 2.5.0, here termed ROE. ROE was tested and shown to perform well in several recent papers [
19,
20,
27,
29]. The role of ROE was to demonstrate both the computational performance and MAP estimate convergence characteristics of a standard implementation. The ROE configuration is shown on line 4 of
Table 1. The minimization algorithm used by ROE was the trust region reflective algorithm [
42], as available in the SciPy library. The maximum number of iterations allowed in the ROE configuration was 20.
The MCMC experiments described in
Table 1 used the adaptive Metropolis algorithm described in Algorithm 2. In MCMC, the atmospheric state was fixed to the best MAP estimate that was found, which happened to be the AOE
0 MAP estimate. MCMC sampling was performed over the surface reflectances only, conditioned on the best possible atmospheric state. All the MCMC chains were 5,000,000 iterations long, and in all MCMC experiments the first half of the chain was discarded as “burn-in” when computing statistics for the purpose of reporting results. This was done because, before the MCMC chains have properly mixed, the samples cannot be viewed as samples from the underlying target distribution. For convenience, we used a subsample of size 100,000 to compute all results. We thinned the chain; i.e., the iterations picked were chosen at regular intervals, to minimize autocorrelation of the samples.
In addition to the quality of the AOE and OE point estimates, we were interested in understanding how different the covariance estimate produced by the AOE inner loop was from the standard OE covariance estimate, as well as how much including atmospheric components changed the covariance estimates for the set of retrievals studied here. Three types of linearization-based covariance estimates were compared, each designated by a subscript. First,
was the estimate of the conditional covariance matrix produced by the AOE inner loop algorithm (Algorithm 1). Second,
was the covariance estimate given by (
10), where
is the
matrix containing partial derivatives of the forward model
with respect to
. The third approximation,
was the same as the second, but using the full
, which also contained the columns of partial derivatives with respect to the elements of
.
In the following sections, we use the letter to designate estimates of posterior distributions , , and , and superscripts and subscripts to identify the type of the particular approximation used. For instance, refers to the Gaussian posterior approximation with mean set to the ROE mean estimate and covariance approximation computed as in OE using the full state. The possible means are and with , and the possible covariances are the ones listed in the previous paragraph: , , and . The MCMC posteriors, describing MCMC estimates of , are denoted by . We generally treated the atmospheric part as a nuisance variable, even though we also discuss AOE and ROE convergence in the atmospheric part of the state.
In
Section 4.4, we compare the performance of AOE
0 to ROE for a large scene. The retrieval settings there are the same as described here and in
Table 1 for AOE
0 and ROE.
3. Data
We performed the retrievals described in
Section 2.5 for five targets acquired by NASA’s Next Generation Airborne Visible Infrared Imaging Spectrometer (AVIRIS-NG) and previously reported in [
19,
36]. They were acquired in overflights of the Jet Propulsion Laboratory and Caltech campus in Pasadena, USA, in 2014 and 2017, respectively. The relevant AVIRIS-NG flightline codes are ang20140612t215931 (177, 306, PL, and Mars) and ang20171108t184227 (BL), and these codes contain the approximate measurement times, along with the exact measurement geometries. The solar zenith angles for the retrievals were 29° for the JPL acquisitions and 52° for the Caltech/Beckman Lawn acquisition. The respective flight altitudes were 1980 m and 2350 m. The Jet Propulsion Laboratory is located at 3412′N, 11810′W, and the Caltech campus at 348′N, 1187′W. These sites were selected because they offered a wide range of different surface types and brightness levels.
Targets 177, 306, and PL were artificial; Mars was a bare dirt surface, and BL was a vegetation target. The PL target was very dark, 306 very bright, and all the rest had brightnesses between these two extremes. Within a few days of the overflight, a field team visited each of the five locations and acquired in situ observations of upwelling radiance under a similar solar geometry using Malvern Panalytical ASD field spectormeters. These radiance measurements were compared to those of an upward-facing reference panel, enabling a direct measurement of surface reflectance. For further information on the measurement protocol, we refer the reader to [
19].
AVIRIS-NG measures the visible and shortwave infrared (VSWIR) spectrum in the range 380 nm–2500 nm with 5 nm spectral resolution [
43]. We applied a channel mask to exclude the deep water absorption features, because, in practice, all radiation in these channels is absorbed by the atmosphere. After applying the mask, the channel ranges that were included for carrying out the inversions were 400 nm–1300 nm, 1450 nm–1780 nm, and 2050 nm–2450 nm for the 177, 306, PL, and Mars retrievals, and 380 nm–1300 nm, 1450 nm–1780 nm, and 1950 nm–2450 nm for the BL retrieval. This left 326 channels for the JPL retrievals, and 349 channels for the BL retrieval. Thus, the lengths of vectors
,
,
,
, and
were either 326 or 349, depending on the target. In the figures in
Section 4, we present the data by interpolating over the masked-out sections and mention this explicitly in the captions.
Finding the maximum a posteriori estimate using (
12) requires prescribing the noise covariance matrix
, and the prior mean
and prior covariance matrix,
for the state. The instrument noise depends on photon counting statistics, which in turn depend on the brightness of the surface. Consequently, we calculated the noise covariance
for each observation separately. We aggregated signal-dependent and signal-independent noise sources from a first-principles understanding of the physical instrument performance. In order to speed up this process at runtime, we fit the signal/noise relationship using a concise three-parameter model, which has been shown to very accurately describe instrument characteristics [
19]. This model produced a diagonal covariance structure, implying the independence of the measurement errors across wavelengths. All targets were measured several times during the overflights, and the repeated measurements were averaged to produce averaged observations with lower measurement uncertainty. The number of observations of each target is reported in the third column of
Table 2.
We used a uniform prior for the atmospheric part of the state vector,
, meaning that there was no
component in the formula for the posterior density (
6). However, to deal with the underdetermined nature of the inverse problem, we prescribed a Gaussian prior for
. Estimating priors from data is a challenging task that falls outside the scope of this work. This restriction of the scope was justifiable, since prior selection does not affect the computational performance of either the ROE or the AOE algorithms. In order to obtain results that were comparable between AOE and ROE, we used the same priors for all methods for each retrieval.
The prior mean and covariance for the surface reflectances were determined in ISOFIT by trying different prior models and choosing the one that best described the signal based on a preliminary analysis. The available surface prior models were constructed from spectroscopic measurements of various materials, which were clustered to build a library of spectroscopically similar measurements, see [
19]. This prior selection model was not included in the AOE code, and to make the timing results comparable across retrieval methods, the prior selection step was also omitted for the ROE timings below. Of the prior covariance matrices, only the one used for BL was dense, whereas the priors for the JPL retrievals were mostly diagonal. These mostly diagonal priors did, however, contain dense sub-matrices for the regions 890 nm–990 nm and 1090–1190 nm, which contained water absorption features.
For radiative transfer, a pregenerated LUT was interpolated to compute the terms in the forward function that depended on the atmospheric state. The vector contains two components: AOT at 550 nm and water vapor concentration, labeled as H2O. For the JPL targets, the allowable values for AOT vary between 0.001 and 0.5, and this range was divided into three equal segments. The minimum and maximum values of the H2O parameter were 1.310 and 1.587, and the grid was divided into four equal segments. For the Beckman Lawn target, the LUT contains radiative transfer-dependent parameters only for the lower and upper limits, between which the values were linearly interpolated. The AOT for the BL retrieval varied between 0.01 and 0.1 [-], and H2O between 1.5 and 2 [g cm−2].
In order to demonstrate how AOE works for larger scale retrievals, we also compared the performance of OE and AOE
0 for the 160,000 pixel area outlined by the red rectangle in
Figure 1. The sides of the rectangle are 800 m long, which translates to a ground sampling distance of 2 m. The observations are part of the AVIRIS-NG flightline ang20171108t184829. The scene includes the Jet Propulsion Laboratory (JPL), along with its surroundings. On the south-eastern side of the JPL, the Hahamongna Watershed Park contains a small stream, trees, bushes, and grass/hay. On the northern side of the JPL, there are steep hillsides, and the south-western corner of the target area contains managed forest with some taller trees. Some of the rooftops at the JPL are very bright, and hence, in general, difficult for retrieval algorithms to handle. The buildings also cast deep shadows, and much of the space between buildings is paved with asphalt or concrete. The right-hand side of
Figure 1 provides a zoomed-out view of the nearby areas for context. These areas are included in the same AVIRIS-NG flightline data, but were not retrieved in this work.
To perform these larger scale retrievals, the AOT LUT was divided into two equal segments in the range of 0.001–0.5, and the H2O LUT into 14 equal segments in the range of 1.04–4.505 g cm−1. The ranges of the included channels were the same as those used for the JPL test targets. However, due to a small difference in the channels’ wavelengths, the regions included here contained 325 channels instead of the 326 mentioned above.
4. Results
This section presents the results from our numerical experiments and is divided into several subsections. In
Section 4.1, we compare the MAP estimates of reflectances from AOE to those produced by OE using ISOFIT (ROE).
Section 4.2 assesses how the point estimates of the atmospheric part of the state from AOE differed from the ones produced by ROE. In
Section 4.3, we examine how well the Gaussian approximations provided by OE and AOE described the potentially non-Gaussian “true” posterior distributions from MCMC. In particular, in
Section 4.3.1, we introduce and apply two summary statistics that provide overall measures of distributional agreement. Then, in
Section 4.3.2, we compare the marginal distributions of reflectances from the different posterior distributions, and in
Section 4.3.3, we examine correlation structures in the posterior distributions.
Section 4.4 compares ROE to AOE for a scene with a large number of pixels, and finally, in
Section 4.5, we look at the computational performance.
4.1. Retrieved Surface Reflectance Point Estimates
Figure 2 shows the retrieved state estimates generated by the AOE
0, AOE
2, with ROE algorithms in
Table 1 for each of the five scenes in
Table 2. The left panels show the reflectance point estimates and the prior mean spectra used in the retrievals, along with in situ reflectance measurements. The panels on the right show the associated radiance vectors obtained by plugging the point estimates back into the forward model, see (
4). The right panels also show in situ radiance observations for comparison. For Building 177, Mars Yard, and Beckman Lawn, all the retrieved reflectance estimates were very similar. For Building 306, the AOE reflectance estimates in the visible spectrum were slightly lower than the ROE estimates, and for the Parking Lot, AOE
2 agreed with ROE but AOE
0 was slightly lower throughout the spectrum. The radiance estimates were very close to the measurements in all cases. While the in situ measurements should not be taken as representing the ground truth, for the PL target, the difference from in situ measurements to all retrieved estimates was more substantial than for the other targets. This suggests that the forward model formulation used may not be well-suited for capturing the physics of dark targets.
The difference plots in
Figure 3 reveal additional interesting features of the comparisons. The left side of
Figure 3 shows the differences between the retrieved reflectance estimates and the prior mean for AOE
0 and ROE. The graphic in the top-right panel shows the differences between the radiance spectra obtained by plugging in the retrieved reflectances to the forward model and remote radiance observations, also only for AOE
0 and ROE. The bottom-right graphic is mostly the same as the top-right, but it zooms in even closer on the neighborhood of zero on the
y-axis and also does not include the Beckman Lawn target results. For the reflectances, the AOE
0 estimates (solid lines) in the visible wavelengths are generally closer to the prior mean than the ROE estimates (dashed lines). In the infrared (IR) region, the estimates from AOE and ROE appear nearly identical.
In the top-right graphic, the differences between the implied radiances corresponding to the reflectance estimates and the observations show that the residuals from the Beckman Lawn retrieval are larger than the others. This was perhaps due to the tight, dense reflectance prior covariance matrix used in the retrieval. The bottom-right graphic shows that the AOE radiance residuals are small; much smaller than the ROE residuals. Comparing the left and the right sides of the figure, we see that AOE was able to find state vectors that were better, both in terms of the residuals to the prior mean, and also in terms of the forward-modeled distances to the radiance observations.
The in situ reflectance measurements in the left panels of
Figure 2 (gray dotted lines) demonstrate how meaningful the differences between reflectance estimates from the different retrieval methods were. In all the JPL retrievals, the ground truth was much farther from the reflectance estimates than the AOE and ROE estimates were from each other, but for the Beckman Lawn target, the retrieved estimates closely tracked the in situ-measured reflectances. Since, for any given target, the difference of the retrieved reflectances to the in situ measurements was quite similar for all the different retrievals, the source of the discrepancy was likely not due to how the optimization algorithms converged, but more probably a combination of biasing introduced by the priors and forward model misspecification.
4.2. Retrieved Atmospheric State Point Estimates
The AOE
0, AOE
1, and ROE algorithms (see
Table 1) retrieved estimates of the atmospheric state in addition to surface reflectance spectra. The estimated values for these parameters for the AOE/ROE retrievals are shown in
Table 3, and a graphical representation is given in
Figure 4. The table and the figure show that AOE and ROE produced very similar H2O point estimates. However, ROE had difficulty in finding the best AOT estimate in three of the five cases, while AOE
0 and AOE
1 always found the optimal AOT values. The atmospheric parameters used in AOE
2 are by definition the same as their initial values, which were determined by applying a heuristic band ratio algorithm to calculate H
2O and by setting a fixed value for AOT, and therefore, the green cross and the yellow diamond in
Figure 4 are always superimposed.
The contours in
Figure 4 describe the negative posterior log probabilities in each atmospheric state using AOE
2-estimated surface reflectances (conditional MAP) for the atmosphere given by the
x- and
y-axes. In more detail, both the H
2O and AOT parameter ranges were divided into 100 intervals, resulting in a grid of size
. For each point
in the grid, we found the conditional MAP estimate, namely
. The values described by the contours are then
, see (
12).
By comparing the red diamonds with the contours in
Figure 4, we can see that AOE
0, the slowest but most accurate AOE method, always found its way to the true MAP estimate given by the lowest point (highest probability) according to the contours. The blue circles show that AOE
1 (compromise between speed and accuracy) performed almost as well. The fastest version, AOE
2 (yellow diamonds), did not retrieve
. Instead, it used fixed values equal to the initial guess (black crosses). ROE performed quite well but had some difficulty finding the best AOT values.
Finally, we remark that the retrieved AOT values were very low—perhaps unrealistically low—for most of the retrievals. However, this does not reflect a problem with the atmospheric correction procedure itself, as the AOE algorithm managed to find the most probable states. Furthermore, the contour plots in
Figure 4 reveal that the posterior marginal distribution of the AOT parameter was diffuse in all cases, meaning that any low AOT value is entirely realistic. Bias in Bayesian inversion is technically a result of the interplay of the two terms in the loss function, prior and likelihood. The latter includes, in this case, factors such as unmodeled physics, a too-sparse lookup table for radiative transfer, and inadequate forward model error description. The posterior densities can then be used to inform how the modeling setup should be developed further, in order to produce more realistic estimates.
4.3. Quality of Gaussian Approximations from AOE and OE
All the retrieval algorithms studied in this paper produced posterior distributions of the state vector given the observed radiance vector. Both ROE and AOE estimate the first two moments which, under Gaussian assumptions, fully specify the distribution. MCMC-based algorithms produce full distribution estimates, Gaussian or not. Since two different distributions can have similar first (and second) moments and still be very different, it is prudent to compare distributions more carefully than just by looking at means and covariances.
4.3.1. Posterior Probabilities of MAP States and Total Variation Distances
We used two metrics to quantify how close the two different distributions were to one another. The first was the negative log posterior density value evaluated at a distribution’s most probable state,
. The lower this value, the higher the probability of the estimated MAP state. The second metric was the total variation distance,
, where
and
are the two distributions being compared:
where
is the domain of all possible values of
.
is a number between zero and two; a small TV distance means that the probability masses of distributions largely coincide. Numbers close to two mean that the distributions do not overlap. The computation of TV distance is somewhat involved. The details are described in
Appendix C.
Table 4 shows the negative log posterior probabilities of the MAP estimates obtained from the different retrieval methods, with the best values in bold type. The Beckman Lawn retrieval in the last row had higher reported values throughout than the rest, due to the dense, more restrictive prior covariance matrix used in only that experiment and the larger number of channels used in the inversion. The sum of negative log posterior probabilities over 177, 306, PL, and Mars, describing the average convergence performance, was 84.99 for AOE
0, 85.15 for AOE
1, 88.73 for AOE
2, and 88.95 for ROE. According to this metric, all the AOE retrievals performed better than ROE, but AOE
2 and ROE were close to each other. Curiously, in the case of the PL retrieval where ROE was better than AOE
2, the AOE
2 reflectances seemed to be tracking the ROE retrieval closely according to the spectra in
Figure 2, implying that evaluating convergence performance solely based on visual inspection of retrieved reflectances can be misleading. For the BL retrieval, ROE performed worse than AOE, but once again the difference was not so large that this statement could be readily made based only on looking at
Figure 2 and
Figure 3.
Table 5 compares the various Gaussian distribution estimates with the MCMC results using the total variation distance. The best estimates values are again shown in bold type. The Gaussian approximations are centered either on the AOE
0 (first three columns) or the ROE mean (last two columns). The first column used
as the the covariance estimate, given by (
25); the second and the fourth used
, and the third and the fifth used
. While both
and
were computed with (
10), in the former case, the matrix
in (
10) did not contain the partial derivatives with respect to the atmospheric parameters, whereas
used an
that included them. For the ROE-centered estimates, the total variation distance was small for Building 177 and large for the other scenes. This was because ROE found a very good atmospheric state estimate for Building 177, but not for the others, see
Figure 4. It appears that the AOE covariance estimate was the worst performer, and the conditional OE covariance was the best. In fact,
was close to zero, suggesting that a Gaussian approximation of the posterior worked well. Furthermore, the difference between the
and
columns is quite small, which suggests that, in many cases,
can serve as a good proxy for
, if this is wanted, e.g., for computational reasons; the convergence in the atmospheric part of the state seems to be far more important. We later see that, in practice, even the
estimate, which had higher TV distances with the MCMC results, produced accurate marginal variances and covariances. We take a second look at Gaussianity and algorithm convergence in
Appendix A.
4.3.2. Marginal Distributions
In this section, we demonstrate that all the covariance approximation methods produced marginal distributions that very closely matched the MCMC results. This included the
estimate, with which the TV distances in
Table 4 were larger than with the others.
Figure 5 shows, for each scene, the first, second, and third standard deviation envelopes of the posterior distributions produced by the different retrieval and covariance estimation methods for all test targets. The distributions have been centered around the AOE
0 mean reflectance estimate.
For target 177 in the first panel, the means and marginal uncertainties of all retrievals are practically identical. That the ROE and AOE
0 means are the same is underlined by the dotted red line, which shows their difference, being zero. For the other targets, the retrieved mean states from ROE and the other methods do not agree. The red shaded areas, which show one-, two-, and three-
marginal uncertainties of the ROE retrieval, are translated by the difference to the AOE
0 mean. Therefore, even when the standard errors are the same, when the means disagree, the shaded areas corresponding to the AOE and ROE uncertainty ranges are not superimposed. Furthermore, covariance estimates computed at different state space locations also led to different forward model linearizations in (
10), which then resulted in differing uncertainty estimates. These discrepancies can be seen for at least parts of the spectrum in all the retrievals other than 177.
For all scenes, the marginals from MCMC (blue solid line), (black dashed line), (orange dotted line), and (green dashed line) agree almost exactly. In case of the BL retrieval, the larger variation in the marginal uncertainties compared to the JPL retrievals was due to the different structure of the prior.
4.3.3. Comparing the AOE Covariance Estimates to MCMC Results
The marginal envelopes in
Figure 5 do not fully describe the AOE and OE distributional approximations, since they do not account for correlations between channels.
Figure 6 compares the posterior correlation structures from the AOE and the MCMC sample for the BL target. The AOE result,
, was based on the covariance matrix
computed in (
25). The two correlation structures look very similar, which together with
Figure 5 suggests that the AOE posterior covariance approximation described the cross-channel correlations accurately. The main difference is the noisiness of the MCMC correlation structure, which is to be expected, because MCMC is based on randomly sampling the posterior distribution. According to
Table 4, the AOE covariance estimate for BL was the least accurate of the 25 computed estimates, and therefore the OE approximations can be expected to resemble the MCMC results even more closely.
4.4. Retrieving Part of a Flightline with AOE
To demonstrate the scalability and real-world performance of the AOE algorithm, we retrieved a scene containing 160,000 pixels with both AOE
0 and ROE. The scene, described in
Section 3 and shown in
Figure 1, contains the JPL and surrounding areas. The retrieval setup was briefly described in
Section 3. The results here are meant to demonstrate that AOE, even without any tuning, is a capable retrieval algorithm; for operational purposes, many of the modeling choices could be tuned further to obtain even better results.
We performed both ROE and AOE0 retrievals and evaluated the relative convergence of the algorithms by computing the posterior log probability differences for each pixel in the scene. The initial values for both ROE and AOE were given by the ROE implementation, which also chose a prior from five possibilities for each pixel. The priors were scaled with a pixel-specific scaling factor, as well as using heuristics in ROE.
The final log probability differences are shown as a map in
Figure 7. The blue color in this figure indicates that AOE
0 found a better state estimate than ROE, and the red color means that ROE converged to a more probable solution. The absolute log probability differences between the ROE and AOE
0 final states were less than five in 73.62% of the retrievals. Given the modeling assumptions for the retrieved scene, such log probability differences indicate that the reflectance estimates were similar. AOE
0 was better by more than 5 for log probability in 26.02% of the retrievals, and ROE was better than AOE
0 by at least that much for 0.36%.
Overall, the ROE final states had higher posterior probabilities than the AOE0 final states in 12.04% of the retrievals, but for most of these, the difference was very small: only in 0.63% was ROE better by more than 0.05 in log probability. The 0.1, 0.5, and 0.9 quantiles of over the whole scene were −0.00096, 0.18, and 823. In practice, AOE0 almost always produced final states that were at least as good as those from ROE, and in a significant fraction of the retrievals, the AOE0 final states were much better.
Figure 8 shows for seven example pixels how the retrieved reflectances from ROE and AOE
0 (left side) and the corresponding radiance residuals (right side) look. The first example is an asphalt target in the northern part of JPL. The second example is a sand target in the Hahamongna Watershed Park. The third and the sixth examples are vegetation targets, and the fourth target is a bare hillside. The fifth target is a bright rooftop of a large office building, and the seventh is a paved road. The target pixels in question correspond to the red numbers in
Figure 7, where the exact locations are in the lower left corners of the numbers.
The retrieved atmospheric parameters, associated negative log probabilities, and relative maximum absolute reflectance differences are given in
Table 6. For targets 1 and 2, the negative log posterior probabilities from AOE
0 and ROE were the same, and for target 5, the difference was only 0.01. The maximum absolute reflectance difference for all three retrievals was under 0.0003, and the maximum relative difference was 0.1%, which is well under 2%, which we here consider the upper limit of an acceptable deviation. With targets 6 and 3, we start to see small differences in the log posteriors, and even though the maximum absolute differences in reflectance were still only 0.001 and 0.002, the respective maximum relative errors were already 0.9 and 1.8%. For target 4, the retrieved AOT valued differ, and this resulted in a log probability difference of 12 and a relative error of 15.8%, due to reflectance differences in the lower end of the spectrum, where the absolute retrieved reflectance was very low. Even though the relative error was large,
Figure 8 shows that the shapes of the AOE- and ROE-retrieved reflectances were very similar. The last target describes a situation where the ROE retrieval did not converge to the best atmosphere, and this led to both a huge difference between the posterior probabilities and a large maximum relative reflectance difference of 22%. The maximum absolute reflectance difference for the seventh target was 0.044.
Overall,
Figure 7 and
Figure 8 demonstrate that AOE could easily produce results that were superior to the results from ROE. The large differences between the posterior probabilities of the
and
states seen in
Figure 7 were often due to the atmospheric states found by AOE
0 being much better than those from ROE. This is exemplified by example target 7 above. One possible approach to work around this issue with ROE would be to use multiple initial starting points for the atmosphere. While this often helps with convergence, the strategy comes with added computational costs.
4.5. Computational Performance
Table 7 shows timing information for the point estimate retrieval algorithms. The computations were performed on a single core of an Intel I7-8750H laptop processor, on a small-overhead Linux system, setting the CPU frequency governor to “performance” and not running any intensive processes in the background. The first three rows show the timings for AOE
0, the second three rows for AOE
1, and the third set of rows shows the AOE
2 and ROE timings. For the first two sets, the timings are broken down into the inversion (i.e., the outer loop optimization in (
13)) and the final step, in which we computed the final conditional distributions using all channels (recall that AOE
1 used only half of the channels for the inversion). In general, the BL retrievals were slower, since they used a dense prior covariance matrix, making the matrix inversions more costly. The last section of the table provides the speed-up factor, which shows how many times faster the AOE retrievals were compared to ROE.
The most accurate version of AOE, AOE
0, took around 10 ms to execute for 177, 306, PL, and Mars, while for BL, the inversion was slower, at 67 ms, yielding 15 retrievals/s on one core. The AOE
0 retrievals for all scenes were about 30 times faster than ROE, and as both ROE and AOE
0 used all channels for retrievals, this computational speed-up was due to the algorithmic improvements in AOE. AOE
1 was two-to-three times faster than AOE
0, due to the reduced number of channels in the inversion, with the full retrieval taking around 5 ms for the JPL targets, and 20 ms for the BL target. To sum up, these retrievals were some 60–90 times faster than ROE. In the case of AOE
2, where only surface reflectances were retrieved and the atmosphere held fixed, the whole retrieval took just over a millisecond for the JPL retrievals and 6 ms for the BL target. While
Table 4 shows that the quality of these estimates was a little better than that of ROE, the AOE
2 retrievals were faster by an average factor of 279, with the actual numbers ranging between 207 and 341.
Figure 9 synthesizes information from
Table 4 and
Table 7. It shows the retrieval algorithms as points in a two-dimensional speed–accuracy plane. The different colors correspond to different retrieval methods. The different symbols correspond to different scenes. Probabilities are shown on the
x-axis and are standardized so that they show the factors by which the retrieval solution states were more probable than the corresponding ROE point estimates. Computation time is shown on a logarithmic scale on the vertical axis, where the numbers indicate how many times faster than ROE a particular retrieval was (higher values are faster). As one might expect, as the computation times became faster (AOE
0 → AOE
1 → AOE
2), the quality of the solutions deteriorated. As in
Table 4,
Figure 9 also shows that three of the individual AOE-retrieved states, out of 15, were slightly less probable than the ROE counterparts. These differences, PL/AOE
2, 177/AOE
1, and 177/AOE
2, were small (notice log-scale in
Figure 9). It also appears that the AOE speed improvement relative to ROE was close to constant for all variants of the AOE algorithm.
Regarding the performance of the JPL scene retrieval in
Section 4.4, the ROE retrievals took 48 h 34 min using two CPU cores, while the AOE
0 retrievals took 2 h 48 min using a single CPU core. The average time of a ROE retrieval using two cores was 1.09 s. For AOE
0 retrievals, the average time was 56 ms. While these numbers are not directly comparable, they are in line with the 30-fold speed-up for AOE
0 in the single-CPU simulations reported in
Table 7.