q12·beginner

Is light pollution / electrification changing in this region?

urbaninfrastructurebiodiversityenergy Datasets: 4 5–20 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: 75.5, 18.5 → 76.5, 19.5 (Rural Maharashtra)

Is light pollution / electrification changing in this region?

What you can answer

  • Urban expansion through expanding bright-pixel footprint
  • Electrification of rural areas (a lit pixel where there wasn’t one before)
  • Power outages after natural disasters (the canonical Black Marble use case — Puerto Rico after Hurricane Maria 2017)
  • Light-pollution intensity as a biodiversity proxy
  • Industrial activity through gas flaring (fossil-fuel infrastructure)

What you can NOT answer with these alone

  • Source of light (residential vs industrial vs flare) without ancillary data
  • Real-time outages finer than VIIRS revisit (~12-hr) — use commercial systems for sub-hourly
  • Light spectrum / blue-light pollution — VIIRS DNB is broadband panchromatic

Code template

import earthaccess
import xarray as xr
import numpy as np

earthaccess.login(strategy="netrc")

# AOI: rural Maharashtra
aoi = (75.5, 18.5, 76.5, 19.5)

# 1. Black Marble VNP46A2 (BRDF-corrected daily)
bmarble = earthaccess.search_data(short_name="VNP46A2", bounding_box=aoi,
                                  temporal=("2012-04-01", "2025-12-31"))
# Open as xarray; extract Gap_Filled_DNB_BRDF-Corrected_NTL
# Mask: NTL > 5 nW/cm²/sr considered "lit"

# 2. Annual median composite (reduces moon-phase + cloud contamination)
# Group by year, compute median per pixel
# Count "lit" pixels per year → electrification timeline

# 3. Disaster outage check (illustrative — use Hurricane Maria scenario)
# Compare median Sep 2017 vs Sep 2016 over Puerto Rico
# Difference map → outage spatial pattern

# 4. Plot:
#    - Animated map (or before/after) for chosen years
#    - Time-series of total lit pixel area

Expected output

  • Before/after maps: e.g., 2014 vs 2024 nighttime-lights composite over your AOI
  • Time-series: total “lit area” (km²) per year
  • Outage map: difference between disaster-month and prior-month for events like Maria/Ian/Otis

Caveats

  • Use VNP46A2 (gap-filled, BRDF-corrected) for analysis, NOT raw VNP46A1
  • Moon-phase contamination is removed in VNP46A2 but check the QF flag
  • Snow + ice in winter at high latitudes can look like sudden new “lights” — mask by season
  • Gas flares are extremely bright; can saturate detectors and dominate pixel statistics in oilfield regions
  • DMSP-OLS heritage record (1992-2013) has intercomparison issues with VIIRS; don’t naïvely concatenate — use intercalibrated harmonized products if you need pre-2012

Cross-DAAC composition

LAADS DAAC + Black Marble portal (NASA Goddard) — single auth via Earthdata Login.

Sources

📚 Problem Finder KB

Not yet tracked in the KB.