Level-1 (TOA) vs. Level-2 (BOA): Picking the Right Input for Analytics

2025-08-17 · 5 min read · TOA · BOA · Sentinel-2 · Sen2Cor · Atmospheric Correction · NRT · Quality Masks

Level-1 (TOA) vs. Level-2 (BOA): Picking the Right Input for Analytics

TL;DR: Level-1 (TOA) is the calibrated signal at the sensor. Level-2 (BOA) estimates surface reflectance after atmospheric and sometimes terrain and illumination corrections. L2A is computed from L1C. BOA is usually better for comparability across dates. TOA is faster and often more stable when the correction struggles.

What the levels mean

In optical Earth observation, Level-1 provides top-of-atmosphere reflectance. It preserves illumination, atmosphere, and view geometry, so it is close to what the instrument measured. Level-2 aims to recover bottom-of-atmosphere reflectance. It corrects for Rayleigh scattering, aerosols, water vapour and ozone, and may apply terrain or illumination adjustments. For Sentinel-2 these are the familiar L1C and L2A products.

Level-1 and Level-2 are linked. Every L2A pixel comes from an L1C pixel plus a model of how the atmosphere and geometry modified the surface signal.

Why L2A exists and where it can struggle

Most analytics compare scenes across days, seasons, or years. BOA reflectance is designed for that job because it reduces the effects of haze and changing sun angle. The correction needs good inputs. It depends on aerosol optical thickness, water vapour, ozone, sun and view angles, and assumptions about the surface and its neighbourhood. When these are off, artifacts appear. You may see colour casts over snow, depressed vegetation indices under thin smoke, seams between tiles, or sudden jumps in time. In those cases, TOA can be the safer input for analysis or machine learning.

Strengths and limitations

Level-1 keeps you close to the measurement. It arrives sooner and does not inherit errors from a difficult inversion. The trade-off is that atmosphere and geometry remain in the numbers, so thresholds and indices can drift with conditions.

Level-2 moves you closer to the surface signal. It makes trend analysis and reporting easier to defend. The trade-off is sensitivity to the atmospheric solution and geometry handling. When these struggle, BOA can become less trustworthy than TOA.

A practical rule is simple. If your priority is comparability and L2A is stable in your season and biome, use BOA. If your priority is robustness in smoke, winter aerosols, snow, or very low sun, or you need the lowest latency, start from TOA.

What this means for machine learning

For many models, Level-1 is a strong default. With the right features, networks learn invariance. Add sun and view angles, terrain, and quality probabilities. Augment with haze and illumination changes. Let the model learn to discount contaminated pixels. This avoids baking in the biases of a single atmospheric correction.

When L2A is consistently good in your region, training on BOA simplifies the learning problem and often stabilizes cross-date predictions. Be careful with mixed training sets. Combining good L2A scenes and brittle L2A scenes can reduce generalization without any obvious failure in validation.

Analytics guidance

Daily monitoring and near real time work benefit from TOA because it is available first and is more predictable in awkward scenes. Simple normalizations help, such as dividing by the cosine of the solar zenith angle or using per-pixel weights from quality layers.

Trend analysis and reporting benefit from BOA because the physical meaning is clearer. Verify seasonal performance, especially near snow, bright sand, or persistent haze. Watch for index shifts at low sun.

Water and coasts deserve extra care. Generic land corrections can misbehave over turbid or shallow water. Validate a few stable water targets before trusting any time series.

Hybrid workflows that work in practice

You do not need a single choice for every step. Many teams ingest both levels. Run core change detection on TOA for stability. Compute indices on BOA for interpretability. Reconcile differences with quality masks and uncertainty. Another pattern is a two-pass product. Deliver a TOA-based estimate for timeliness, then reissue a BOA-based product once the atmospheric inputs stabilize.

Quality layers and quick checks

L2A products usually include quality aids such as aerosol optical thickness, water vapour, and scene classification. Use them. Before trusting an L2A series, run a quick sanity pass. Check a dark water patch and a bright urban roof that rarely changes. In a healthy correction the water stays dark and the roof’s reflectance stays within a narrow band across dates. If either drifts strongly while TOA is steady, fall back to TOA for the affected period or location.

Data handling
Most L1C and L2A products store reflectance as integers with a scale factor of 10,000. Divide by 10,000 to convert to 0 to 1. Keep your grid and resampling method fixed across dates. Avoid mixing L1 and L2 in the same time series unless you document the switch and re-tune thresholds.

Where ClearSKY fits

ClearSKY supplies both L1 and L2 for the same date and footprint so teams can pick the right starting point for each job. Our Nimbus model produces Sentinel-2 style Level-1C outputs. That makes it easy to run standard BOA pipelines such as Sen2Cor or a tuned variant on the exact same scenes. Many customers operate with L1 for operations and machine learning, then add L2 for audits, agronomy indices, and reporting when conditions allow. If you want both, order the L1 stack for speed and request the L2 companion in the same workspace when you are ready to compare.

FAQ

Should I ever mix L1 and L2 in one model?
Only with care. If you mix levels, include a level flag, retrain with both, and validate by season and biome.

Why does my L2A NDVI drop in light smoke while TOA NDVI looks stable?
The correction may be over-estimating aerosols or mis-handling adjacency. If the drop appears only in BOA, prefer TOA for that period.

Is L2 always slower to arrive than L1?
Yes in most systems. Level-2 relies on L1 plus ancillary inputs. That extra step usually adds latency.

Related articles