q05·advanced
How is global atmospheric CO₂ changing, and where are the strongest sources?
atmospheregreenhouse-gasescarbon-cycleclimate Datasets: 5 30–90 min
▶ Find the data for your area
Draw a rectangle to pick your area of interest, then see what NASA data covers it (live, here in your browser) or download a ready-to-run notebook with your AOI pre-filled. The notebook runs in any Python environment — it needs a free Earthdata Login to fetch the data.
Current AOI:
-95.5, 29.5 → -95, 30 (Houston metro area)How is global atmospheric CO₂ changing, and where are the strongest sources?
What you can answer
- Global XCO₂ trend (~2.5 ppm/yr current rate, seasonal cycle, annual growth rate)
- Regional gradients (highest over Asia industrial corridors, lowest over Southern Ocean)
- Anthropogenic point sources via OCO-3 SAM mode (megacities, power plants — when sky is clear)
- Biosphere uptake via SIF (forests vs croplands vs grasslands)
- El Niño / La Niña impact on tropical land carbon (a major OCO finding)
What you can NOT answer with these alone
- Direct flux (kg CO₂/sec) — requires inversion via atmospheric-transport model (use OCO MIP).
- Per-facility emissions without high-fidelity wind + boundary-layer height (use MERRA-2 PBL + 850 hPa winds).
- Methane, which is on TROPOMI, EMIT, GOSAT, MERLIN — not on OCO sensors.
Code template
import earthaccess
import xarray as xr
earthaccess.login(strategy="netrc")
# Year-scale trend: OCO-2 global XCO2 monthly mean 2015-2025
aoi = None # global
window = ("2015-01-01", "2025-12-31")
oco2 = earthaccess.search_data(short_name="OCO2_L2_Lite_FP",
temporal=window)
# Open all granules, filter by xco2_quality_flag == 0 (good)
# Compute monthly mean per 2°×2° grid → trend line + seasonal harmonic fit
# Facility-scale: OCO-3 SAM over a specific city/plant
sam_aoi = (-95.5, 29.5, -95.0, 30.0) # Houston area
oco3 = earthaccess.search_data(short_name="OCO3_L2_Lite_FP",
bounding_box=sam_aoi,
temporal=("2022-01-01", "2024-12-31"))
# Extract XCO2 + wind context from MERRA-2 → enhancement above background
Expected output
- Global map: 2015 mean XCO₂ minus 2024 mean XCO₂ (annotated with major source regions)
- Time-series: monthly global XCO₂ 2015–present (showing seasonal cycle + secular rise)
- Facility raster: OCO-3 SAM mode dense XCO₂ over a megacity, with wind-corrected enhancement overlay
- SIF map: spring vs fall growing-season comparison for a major biome
Caveats
- Cloud screening removes 75-90% of footprints. Sparse coverage is the default; aggregate to monthly or coarser.
- Quality flags are critical —
xco2_quality_flag == 0is the only thing you should trust unfiltered. QF=1 is questionable; QF=2 should be discarded. - Bias corrections (v11.2 vs v10) matter for trend analyses spanning the version change.
- SIF is a photosynthesis proxy, not GPP directly — the relationship varies by ecosystem, water stress, species composition.
- OCO-3 SAM is scheduler-driven — not every target gets observed on every overpass.
Cross-DAAC composition
GES DISC (OCO-2/3 + MERRA-2) → all via earthaccess with single Earthdata Login.
Sources
- OCO-2: https://disc.gsfc.nasa.gov/datasets/OCO2_L2_Lite_FP_11.2r/summary
- OCO-3: https://disc.gsfc.nasa.gov/datasets/OCO3_L2_Lite_FP_11.2r/summary
- OCO MIP: https://gml.noaa.gov/ccgg/OCO2_v10mip/
Datasets used
📚 Problem Finder KB
Not yet tracked in the KB.