Is deforestation happening in this area, and what are its effects?
A Before-After-Control-Impact natural experiment on real satellite data — the affected area vs. a comparable unaffected control, before vs. after. The change has to clear an empirical noise floor to count as a real signal; a genuine null is reported as a null. Computed on Google Earth Engine — not yet scientist-verified.
Rondônia, Brazil
The trustworthy local signals agree with the deforestation signature: land surface temperature warmer; greenness ndvi less green. Regional/coarse variables (rainfall, wind, humidity) are directional hints at best; soil moisture is model-based and reported without a consistency verdict. Weight the strong tier; treat the rest as context.
Observational analog (a natural experiment over comparable places) — evidence, not a prediction for any one spot. Each bar shows the change versus the natural jitter between undisturbed control pixels; it must clear the ┊ tick to count as a real signal.
Provenance & full trace — reproducible
Every number came from this exact query on Google Earth Engine. Same query → same number.
DEFORESTATION ANALOG — combined report region [-63.5, -11.0, -60.0, -8.5] | forest lost 2005-2008 | before 2001-2004 -> after 2015-2020 Before-After-Control-Impact (BACI): change at deforested sites MINUS the same change at kept-forest controls. Observational evidence, NOT a causal prediction. [STRONG (local, trustworthy)] land_surface_temperature BACI +0.956 degC (warmer) [def 10500px / ctrl 63223px] greenness_ndvi BACI -0.046 NDVI (less green) [def 10500px / ctrl 63223px] [WEAK (regional process, coarse grid — directional hint)] rainfall BACI -7.8 mm/year (no clear change) [def 512px / ctrl 1893px] [WEAKEST (coarse + regional — read the control-pixel count)] wind BACI -0.01 m/s (no clear change) [def 25px / ctrl 62px] <- NOT in the expected direction (investigate) humidity BACI +0.1 % RH (no clear change) [def 25px / ctrl 62px] <- NOT in the expected direction (investigate) [AMBIGUOUS (model-based, no expected direction — reported, not judged)] soil_moisture BACI -0.001 m3/m3 (no clear change) [def 165px / ctrl 423px] VERDICT The trustworthy local signals agree with the deforestation signature: land surface temperature warmer; greenness ndvi less green. Regional/coarse variables (rainfall, wind, humidity) are directional hints at best; soil moisture is model-based and reported without a consistency verdict. Weight the strong tier; treat the rest as context.
Riau, Sumatra
The trustworthy local signals agree with the deforestation signature: land surface temperature warmer; greenness ndvi less green. Regional/coarse variables (rainfall, wind, humidity) are directional hints at best; soil moisture is model-based and reported without a consistency verdict. Weight the strong tier; treat the rest as context.
Observational analog (a natural experiment over comparable places) — evidence, not a prediction for any one spot. Each bar shows the change versus the natural jitter between undisturbed control pixels; it must clear the ┊ tick to count as a real signal.
Provenance & full trace — reproducible
Every number came from this exact query on Google Earth Engine. Same query → same number.
DEFORESTATION ANALOG — combined report region [101.0, 0.0, 103.5, 2.0] | forest lost 2005-2008 | before 2001-2004 -> after 2015-2020 Before-After-Control-Impact (BACI): change at deforested sites MINUS the same change at kept-forest controls. Observational evidence, NOT a causal prediction. [STRONG (local, trustworthy)] land_surface_temperature BACI +0.764 degC (warmer) [def 8135px / ctrl 11790px] greenness_ndvi BACI -0.021 NDVI (less green) [def 8135px / ctrl 11790px] [WEAK (regional process, coarse grid — directional hint)] rainfall BACI +15.7 mm/year (no clear change) [def 321px / ctrl 267px] <- NOT in the expected direction (investigate) [WEAKEST (coarse + regional — read the control-pixel count)] wind BACI +0.02 m/s (windier) [def 19px / ctrl 5px] humidity BACI -0.2 % RH (drier) [def 19px / ctrl 5px] [AMBIGUOUS (model-based, no expected direction — reported, not judged)] soil_moisture BACI -0.002 m3/m3 (drier soil) [def 89px / ctrl 50px] VERDICT The trustworthy local signals agree with the deforestation signature: land surface temperature warmer; greenness ndvi less green. Regional/coarse variables (rainfall, wind, humidity) are directional hints at best; soil moisture is model-based and reported without a consistency verdict. Weight the strong tier; treat the rest as context.
Central India (Maharashtra)
No clear local change: every strong-tier variable came back below the noise floor (LST/NDVI ~ flat between deforested and control sites here). The deforestation signal in this box is weak or absent — possibly little real loss, slow recovery, or the window is too short. Do not over-read the coarse/regional hints; the trustworthy signal is null.
Observational analog (a natural experiment over comparable places) — evidence, not a prediction for any one spot. Each bar shows the change versus the natural jitter between undisturbed control pixels; it must clear the ┊ tick to count as a real signal.
Provenance & full trace — reproducible
Every number came from this exact query on Google Earth Engine. Same query → same number.
DEFORESTATION ANALOG — combined report region [79.5, 19.0, 83.0, 22.0] | forest lost 2005-2008 | before 2001-2004 -> after 2015-2020 Before-After-Control-Impact (BACI): change at deforested sites MINUS the same change at kept-forest controls. Observational evidence, NOT a causal prediction. [STRONG (local, trustworthy)] land_surface_temperature BACI +0.046 degC (no clear change) [def 1843px / ctrl 21713px] greenness_ndvi BACI -0.003 NDVI (no clear change) [def 1843px / ctrl 21713px] [WEAK (regional process, coarse grid — directional hint)] rainfall BACI -11.2 mm/year (no clear change) [def 93px / ctrl 666px] [WEAKEST (coarse + regional — read the control-pixel count)] wind BACI +0.05 m/s (windier) [def 2px / ctrl 19px] <- too few pixels; do not trust humidity BACI -0 % RH (no clear change) [def 2px / ctrl 19px] <- too few pixels; do not trust [AMBIGUOUS (model-based, no expected direction — reported, not judged)] soil_moisture BACI +0.001 m3/m3 (no clear change) [def 26px / ctrl 160px] VERDICT No clear local change: every strong-tier variable came back below the noise floor (LST/NDVI ~ flat between deforested and control sites here). The deforestation signal in this box is weak or absent — possibly little real loss, slow recovery, or the window is too short. Do not over-read the coarse/regional hints; the trustworthy signal is null.
Western Ghats (Karnataka)
No clear local change: every strong-tier variable came back below the noise floor (LST/NDVI ~ flat between deforested and control sites here). The deforestation signal in this box is weak or absent — possibly little real loss, slow recovery, or the window is too short. Do not over-read the coarse/regional hints; the trustworthy signal is null.
Observational analog (a natural experiment over comparable places) — evidence, not a prediction for any one spot. Each bar shows the change versus the natural jitter between undisturbed control pixels; it must clear the ┊ tick to count as a real signal.
Provenance & full trace — reproducible
Every number came from this exact query on Google Earth Engine. Same query → same number.
DEFORESTATION ANALOG — combined report region [74.3, 13.0, 75.6, 15.2] | forest lost 2005-2008 | before 2001-2004 -> after 2015-2020 Before-After-Control-Impact (BACI): change at deforested sites MINUS the same change at kept-forest controls. Observational evidence, NOT a causal prediction. [STRONG (local, trustworthy)] land_surface_temperature BACI +0.031 degC (no clear change) [def 1149px / ctrl 12668px] greenness_ndvi BACI +0.001 NDVI (no clear change) [def 1149px / ctrl 12668px] <- NOT in the expected direction (investigate) [WEAK (regional process, coarse grid — directional hint)] rainfall BACI +9.3 mm/year (no clear change) [def 48px / ctrl 431px] <- NOT in the expected direction (investigate) [WEAKEST (coarse + regional — read the control-pixel count)] wind BACI -0.01 m/s (no clear change) [def 2px / ctrl 15px] <- NOT in the expected direction (investigate) humidity BACI -0.1 % RH (no clear change) [def 2px / ctrl 15px] <- too few pixels; do not trust [AMBIGUOUS (model-based, no expected direction — reported, not judged)] soil_moisture BACI +0 m3/m3 (no clear change) [def 14px / ctrl 109px] VERDICT No clear local change: every strong-tier variable came back below the noise floor (LST/NDVI ~ flat between deforested and control sites here). The deforestation signal in this box is weak or absent — possibly little real loss, slow recovery, or the window is too short. Do not over-read the coarse/regional hints; the trustworthy signal is null.
Northeast India (Assam–Meghalaya)
No clear local change: every strong-tier variable came back below the noise floor (LST/NDVI ~ flat between deforested and control sites here). The deforestation signal in this box is weak or absent — possibly little real loss, slow recovery, or the window is too short. Do not over-read the coarse/regional hints; the trustworthy signal is null.
Observational analog (a natural experiment over comparable places) — evidence, not a prediction for any one spot. Each bar shows the change versus the natural jitter between undisturbed control pixels; it must clear the ┊ tick to count as a real signal.
Provenance & full trace — reproducible
Every number came from this exact query on Google Earth Engine. Same query → same number.
DEFORESTATION ANALOG — combined report region [91.0, 25.0, 94.0, 26.6] | forest lost 2005-2008 | before 2001-2004 -> after 2015-2020 Before-After-Control-Impact (BACI): change at deforested sites MINUS the same change at kept-forest controls. Observational evidence, NOT a causal prediction. [STRONG (local, trustworthy)] land_surface_temperature BACI +0.099 degC (no clear change) [def 3445px / ctrl 24430px] greenness_ndvi BACI -0.005 NDVI (no clear change) [def 3445px / ctrl 24430px] [WEAK (regional process, coarse grid — directional hint)] rainfall BACI +12.3 mm/year (no clear change) [def 100px / ctrl 690px] <- NOT in the expected direction (investigate) [WEAKEST (coarse + regional — read the control-pixel count)] wind BACI +0 m/s (no clear change) [def 2px / ctrl 20px] <- too few pixels; do not trust humidity BACI +0.1 % RH (no clear change) [def 2px / ctrl 20px] <- NOT in the expected direction (investigate) [AMBIGUOUS (model-based, no expected direction — reported, not judged)] soil_moisture BACI -0 m3/m3 (no clear change) [def 29px / ctrl 161px] VERDICT No clear local change: every strong-tier variable came back below the noise floor (LST/NDVI ~ flat between deforested and control sites here). The deforestation signal in this box is weak or absent — possibly little real loss, slow recovery, or the window is too short. Do not over-read the coarse/regional hints; the trustworthy signal is null.
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.
73.5, 15 → 78.5, 20 (Maharashtra Western Ghats)Is deforestation happening in this area, and what are its effects?
What you can answer
- Where forest cover dropped in a specific area over the last N years (NDVI time-series, Hansen annual loss).
- How much biomass was lost in tons of carbon (GEDI L4A footprint biomass averaged inside loss polygons).
- Whether replant / regrowth has occurred (NDVI recovery curve post-event).
- Downstream effects you can begin to test: surface temperature change (ECOSTRESS), evapotranspiration change (ECOSTRESS), soil moisture change (SMAP), precipitation runoff change (IMERG climatology shift).
What you can NOT answer with these datasets alone
- Direct cause (logging vs fire vs disease vs urban expansion) — needs ancillary data.
- Sub-pixel canopy change smaller than ~30m (HLS resolution floor).
- Continuous biomass loss in time — GEDI is footprint-sampled, not continuous swath.
Code template (Python, cloud-direct, ~30 lines)
import earthaccess
import xarray as xr
from pystac_client import Client
earthaccess.login(strategy="netrc")
# 1. Define AOI + time window
aoi = (78.5, 15.0, 73.5, 20.0) # W, S, E, N — Maharashtra Western Ghats
years = (2018, 2024)
# 2. Pull HLS L30 (Landsat) surface reflectance for NDVI
hls_results = earthaccess.search_data(
short_name="HLSL30",
bounding_box=aoi,
temporal=(f"{years[0]}-01-01", f"{years[1]}-12-31"),
cloud_cover=20,
)
# ...open into xarray, compute NDVI = (NIR - Red) / (NIR + Red), tile-mosaic per year
# 3. GEDI L4A footprint biomass intersecting AOI
gedi = earthaccess.search_data(
short_name="GEDI_L4A_AGB_Density_V2_1_2056",
bounding_box=aoi,
temporal=(f"{years[0]}-01-01", f"{years[1]}-12-31"),
)
# ...open HDF5, extract `agbd` and `agbd_se` at footprint coords
# 4. Mask GEDI footprints by HLS-derived loss polygons → compute mean biomass lost
# 5. Plot: NDVI time-series + biomass-density-lost histogram
Expected output
- Map: change in mean annual NDVI between (years[0], years[0]+2) baseline and (years[1]-2, years[1]) recent
- Histogram: biomass density (Mg/ha) of GEDI footprints inside detected loss polygons
- Time-series: pixel-mean NDVI over the AOI, with annotation at known loss events
Caveats
- HLS cloud-cover filter at 20% is aggressive; cloudy regions (Western Ghats monsoon) lose most of June–Sept observations.
- GEDI ended primary mission in March 2023; data from 2019–2023 only for the original era (extended mission resumed 2024 onboard ISS).
- Hansen Global Forest Change is annual, defines “loss” as ≥50% canopy reduction in a 30m pixel — coarser than typical small-holder agroforestry change.
Cross-DAAC composition
This is a 3-DAAC join: LP DAAC (HLS, MODIS) + ORNL DAAC (GEDI). Auth is uniform (Earthdata Login) but the access libraries differ (earthaccess for both, but HDF5 reading for GEDI is more involved than COG-mosaic for HLS). See recipes/r01-three-daac-composition.mdx for the general pattern.
Sources + further reading
- GEDI L4A user guide: https://daac.ornl.gov/cgi-bin/dsviewer.pl?ds_id=2056
- HLS user guide: https://lpdaac.usgs.gov/products/hlsl30v002/
- Hansen Global Forest Change: https://earthenginepartners.appspot.com/science-2013-global-forest
Make it yours → Draw your own area and download the notebook, then change the forest-loss years, the before/after windows, and how far away the control pixels are drawn. The verified worked examples are on /verify.