How CO₂ Satellites Measure Atmospheric Carbon Dioxide
Follow each step — from sunlight entering the atmosphere to the satellite computing XCO₂
◀️ Content
🌍 RTE 🌍
Home ▶️
STRATOSPHERE
TROPOSPHERE
EARTH SURFACE
tropopause ~12km
O₃
O₃
N₂ O₂
CO₂
H₂O
CO₂
aerosols
aerosols
SUN
SATELLITE
sensor ↓
UV
VIS
NIR
SWIR
MIR
TIR
1.6
2.1
4.3
15µm
①
②
③
④
⑤
OVERVIEW — all key processes
① Solar beam (broadband, 0.25–4 µm)
② Rayleigh/Mie scatter back to space
③ Reflected solar (VIS+NIR) → satellite
④ Thermal IR emission (8–15 µm)
⑤ CO₂ absorption bands (1.6, 2.06, 15 µm)
Broadband solar
0.25 – 4 µm
Top of Atmosphere (TOA)
1361 W/m² solar constant
Solar spectrum at TOA
UV ~9% (<0.4 µm)
VIS ~40% (0.4–0.7 µm)
NIR/SWIR ~51% (0.7–4 µm)
CO₂ absorption windows: 1.6 µm · 2.06 µm (NIR/SWIR used by satellites)
Planck: B(λ,T)=(2hc²/λ⁵)·1/(e^(hc/λkT)−1)
Sun T=5778K → peak λ=2898/5778≈0.50 µm
Earth T=288K → peak λ=2898/288≈10 µm (TIR)
CO₂ windows
O₃
absorbs UV
Hartley band
UV lost (<0.31µm)
→ heats stratosphere
VIS + NIR only
Ozone Layer (stratosphere)
O₃ absorbs UV < 0.31 µm completely
Hartley band: 0.20–0.31 µm (strong)
Huggins band: 0.31–0.36 µm (weak)
Energy → heats the stratosphere
Chappuis band 0.45–0.75µm (VIS, weak)
Beam entering troposphere: VIS + NIR intact
~300 DU ozone column (Dobson Units)
R
Rayleigh
Blue ↑
0.45 µm
∝ 1/λ⁴
M
Mie
All λ ↑
white haze
Rayleigh Scattering (whole column)
• Molecules (N₂, O₂) scatter elastically
• Intensity ∝ 1/λ⁴ → blue (0.45µm) scatters
5.5× more than red (0.70µm)
• Scattered in ALL directions → blue sky
Mie Scattering (boundary layer)
• Aerosols, dust, cloud droplets (r > 0.1µm)
• Wavelength-independent → white appearance
• Forward-dominated scattering phase function
⚠ Aerosols = #1 error in CO₂ retrievals
~30% solar reflected by clouds/aerosols total
OCO-2 rejects cloudy/hazy scenes (<0.3 AOD)
CO₂
1.6 µm
2.06 µm
re-emit (random)
H₂O
1.87µm
2.7µm
attenuated
Molecular Absorption (Beer-Lambert Law)
I(λ) = I₀(λ) · exp(−σ(λ) · N · L)
σ=cross-section, N=column density, L=path length
CO₂ absorption bands (troposphere):
1.6 µm — weak NIR overtone
2.06 µm — stronger NIR overtone ← satellites use
4.3 µm — very strong MIR fundamental
15 µm — bending mode (TIR)
H₂O bands: 1.37, 1.87, 2.7, 6.3 µm
H₂O retrieved simultaneously to avoid bias
More CO₂ → deeper dips → stronger satellite signal
This downward traversal is pass 1-of-2 through the column
pass 1↓ (CO₂ absorbs)
Surface Albedo
Ocean ~0.06 (very dark)
Forest ~0.10–0.15
Desert ~0.30–0.40 ← good for OCO-2
Snow ~0.80–0.90 ← strongest signal
High albedo → stronger CO₂ dip signal
Dark ocean → too dim for SWIR retrieval
CO₂
pass 2↑
absorbs again
pass 2↑ (CO₂ absorbs again)
Two-Way Path — Key Advantage
Reflected solar passes through the CO₂
column TWICE (down + back up).
τ_total = 2 × τ_one-way
Dip depth is DOUBLED vs single pass.
This is why SWIR passive remote sensing
works for trace-gas column retrieval.
OCO-2/GOSAT exploit this two-pass geometry.
albedo: a = reflected / incident flux
Thermal IR
peak ~10 µm
288 K surface
CO₂
abs 15µm
re-emits all dir.
emits up → satellite
greenhouse
↓ back to
surface
Earth Thermal Emission (Blackbody)
Surface T≈288K → peak ~10µm (Planck)
Emitted day and night (no sun needed)
CO₂ Greenhouse Effect (15µm band):
1. Surface emits TIR upward
2. CO₂ absorbs at 15µm in troposphere
3. CO₂ re-emits: some ↑ to space, some ↓
4. Downward re-emission → warms surface
Satellite (TIR mode): more CO₂→ emission from
higher/colder level → less radiance at 15µm
TIR vs SWIR Satellite Modes
TIR (AIRS, IASI, CrIS): thermal emission
→ sensitive to mid/upper troposphere
→ works day AND night
SWIR (OCO-2, GOSAT): reflected solar
→ sensitive full column (near-surface CO₂)
→ daytime only (needs sunlight)
Combined: complementary vertical sensitivity
CO₂
2nd pass
1.6+2.06µm
CO₂
15µm
VIS scattered
Satellite receives mixed signal:
■ Reflected solar (1.6, 2.06 µm dips)
■ Thermal TIR (4.3, 15 µm)
■ Scattered VIS (0.4–0.7 µm)
■ O₂ A-band ref (0.76 µm)
■ Fluorescence (0.76, 0.77 µm, weak)
Upwelling Radiance at Satellite
L_obs(λ) = L_reflect(λ) + L_scatter(λ)
+ L_thermal(λ) + L_fluor(λ)
At 1.6 & 2.06µm: reflected solar dips
depth ∝ CO₂ column amount (2-way)
At 15µm: emission bump from CO₂ layer
shape reveals vertical CO₂ profile
Spectrometer resolves individual spectral lines
R~20,000 needed to see CO₂ line structure
Different lines → different altitude sensitivities
Measured Spectrum at Satellite Sensor
Wavelength (µm) →
Radiance →
0.76
1.6
2.06
continuum
O₂ A
0.76µm
CO₂ dip
1.6 µm
CO₂ dip
2.06 µm
depth
∝ XCO₂
XCO₂ Retrieval Pipeline
① Measure spectrum I_obs(λ)
Spectrometer (R~20,000) disperses light onto detector array
Records radiance at each wavelength simultaneously
② O₂ A-band reference (0.76 µm)
O₂ = 20.95% of air (fixed, well-known)
O₂ dip depth → path length + surface pressure
Dividing CO₂/O₂ cancels viewing-angle geometry
③ Forward Radiative Transfer Model (RTM)
Simulate I_mod(λ) for a trial state vector:
x = [XCO₂, H₂O, T(z), aerosol, albedo, ...]
HITRAN spectral database → σ(λ,T,p) for each gas
④ Optimal Estimation Inversion
Iterate x until I_mod(λ) ≈ I_obs(λ)
Cost fn: J = (x−xₐ)ᵀSₐ⁻¹(x−xₐ) + (y−F(x))ᵀSₑ⁻¹(y−F(x))
xₐ = prior, Sₐ = prior covariance, Sₑ = obs error
⑤ Output: XCO₂ (ppm)
XCO₂ = ∫ x_CO₂(z)·p(z)dz / ∫ p(z)dz
Pressure-weighted column average dry-air mole fraction
e.g. 421.5 ± 0.5 ppm (OCO-2 target precision)
Beer-Lambert: I(λ) = I₀(λ) · exp(−∫ n_CO₂(z) · σ(λ,T,p) · dz)
σ(λ) known from HITRAN; n_CO₂(z) is what we retrieve → XCO₂
← Deeper dips = more CO₂ in column
← O₂ dip normalises path length & pressure