Level-1 (TOA) vs. Level-2 (BOA): Picking the Right Input for Analytics
2025-08-17 · 4 min read · TOA · BOA · Sen2Cor · Sentinel-2

TL;DR: Level-1 (TOA) is the measured signal at the sensor. Level-2 (BOA) estimates surface reflectance after atmospheric and sometimes terrain/illumination corrections. L2A is computed from L1C. BOA is great for comparability until the correction struggles; TOA is robust and fast but includes the atmosphere.
What the levels mean
In optical Earth observation, Level-1 (TOA) provides radiometrically calibrated imagery at the top of the atmosphere which preserves illumination, atmosphere, and view geometry. Level-2 (BOA) aims to recover surface reflectance by correcting for Rayleigh scattering, aerosols, water vapour/ozone and, where applicable, terrain and illumination effects. For Sentinel-2 these are the familiar L1C and L2A products.
Why L2A exists and why it can struggle
L2A is produced by inverting the radiative transfer from surface to sensor. That inversion depends on ancillary estimates (aerosol optical thickness, water vapour, ozone), scene assumptions (surface type, adjacency effects), and geometry (sun/view angles, BRDF). When those inputs are good, BOA reflectance makes multi-date comparisons far more consistent than raw TOA. When they’re shaky, think snow or bright sand, low sun/high latitude, thin haze/smoke, or coastal water, the correction can introduce artifacts: colour casts, depressed vegetation indices, spatial seams between tiles, or jumps in time. In such cases, TOA may be the more reliable starting point for analytics or ML.
Strengths and limitations
- TOA (L1C): closest to the measurement; arrives sooner; stable across tough scenes because it avoids a potentially brittle inversion. But it still contains the atmosphere and geometry, so indices and thresholds can drift with conditions.
- BOA (L2A): closer to the true surface signal and therefore easier to compare across dates and scenes; preferred for physically-interpretable indices (NDVI/EVI2, many water indices). But quality hinges on the atmospheric solution and geometry handling; when those struggle, BOA can be less trustworthy than TOA.
A practical rule: if your analysis depends on comparability and the season/region has stable L2A performance, prefer BOA; if it demands robustness under difficult conditions (smoke, winter aerosols, snow) or lowest latency, start from TOA.
What this means for machine learning
For many ML tasks, Level-1 is a strong default because models can learn invariances if you give them the right context. Include geometry features (solar/view angles), terrain, and QA probabilities; use augmentation that mimics haze and illumination changes; and let the network learn to discount contaminated pixels. This avoids baking in any single L2A algorithm’s biases.
When the L2A in your region is consistently good, training on BOA simplifies the learning problem and can stabilize cross-date predictions, especially for index-driven tasks. The catch is that L2A failure modes vary by season and biome; mixing “good-L2A” and “brittle-L2A” scenes in one training set can silently hurt generalization.
Analytics guidance
- Daily monitoring and NRT: TOA often wins for speed and robustness; add simple normalizations or use per-pixel weights to reduce haze/angle influence.
- Trend analysis and reporting: BOA tends to win for interpretability and comparability—provided you verify seasonal performance and watch for low-sun/snow artifacts.
- Coastal and bright targets: treat any BOA output with extra caution; verify against known stable areas before drawing conclusions.
Hybrid workflows that work in practice
You don’t have to choose once and for all. Many pipelines ingest both: run core analytics on TOA for stability, compute indices on BOA for interpretability, and reconcile differences using QA and uncertainty. Another common pattern is to generate a TOA-based fused estimate for timeliness, then re-issue a BOA-based product when atmospheric inputs stabilize.
Where ClearSKY fits
ClearSKY can provide both L1 and L2 for the same nominal date and area. Our Nimbus model produces Sentinel-2-like Level-1C outputs, which means any standard BOA workflow (including Sen2Cor and our own tuned variant) can be run afterwards. This is useful when users want to choose or compare atmospheric corrections. For operations and ML, many users start with L1 but for audits and physically-interpretable indices, they switch to (or add) L2 when conditions allow. With our Nimbus model, Level-2A (BOA) data can be ordered when downloading imagery .