AI for Earth Observation · Final Project

Is the desert really greening?

Given a green area in a dryland region, will it survive — or is it running down a finite water store toward an eventual collapse?

5regions, 2003–2024
900Sentinel-1/2 image chips
14,400chip-level survival windows
3 / 80windows in the "stable deficit" class

The problem

Dryland greening is not always ecological restoration. Vegetation can increase because rainfall recovered, because a restoration programme worked, or because irrigated agriculture is pumping groundwater that will not be replaced.

Telling those apart matters, but it is not the whole question. A region can be unambiguously irrigation-driven and still be either sustaining itself or depleting its water store faster than any snapshot classification would reveal. Satellite vegetation indices look the same in both cases.

So we predict survival directly. Given a location's own multi-year trajectory, is it sustainable, resilient_but_water_dependent, at_risk, or declining? Classifying why an area is green stays in the pipeline, but as validation evidence rather than the headline.

Study areas

Five drylands chosen so the mechanisms contrast: a verified restoration site, two groundwater-irrigation sites, and two under mixed pressure.

Inner Mongolia (Horqin)China

Verified restoration. The only site gaining water storage while greening.

Hexi CorridorChina

Oasis irrigation against restoration, at a scale regional averaging struggles to separate.

Al-JawfSaudi Arabia

Centre-pivot irrigation in hyper-arid desert, with a matched non-agricultural control.

Konya BasinTürkiye

Climate stress and depletion at once: the study's steepest rainfall decline.

Harran / GAPTürkiye

Irrigation development. Fastest-greening site in the dataset.

What we found

Four results we think are worth carrying forward, including the two that are inconvenient.

Headline · H4

Depleting sites are not reaching equilibrium 01

Three-year persistence alone cannot separate restoration from irrigation: Al-Jawf and Harran persist more (68.8%) than confirmed-restoration Inner Mongolia (43.8%).

Adding a trajectory signal — is a site's water decline accelerating against its own long-run average? — resolves it. The class for sites persisting on a non-accelerating deficit is nearly empty: 3 of 80 windows. Nearly every water-dependent persistent window is at_risk instead. The depletion behind these sites is measurably worsening, which a snapshot label cannot show.

Counter-intuitive

Greening rate and sustainability are partly anti-correlated 02

Harran greens fastest in the dataset (+0.0086 NDVI/yr) and is among the least sustainable by water trajectory. Inner Mongolia greens slowly and is the only site where water storage is rising (+0.90 cm/yr).

A programme ranking sites on vegetation indices alone would put Harran first and Inner Mongolia fourth. The water balance reverses that ordering.

Label quality

The "non-irrigated" label is essentially unconfirmable 03

Every chip was scored against two independent products, LGRIP30 and GMIE-100. WorldCereal's irrigated label holds up reasonably at 3 of 4 sites (74–97% agreement).

Its non-irrigated label does not: 0 of 100 such chips at Harran are confirmed by either source. This is our measured answer to "why not just use WorldCereal" — it is partly trustworthy, quantified rather than assumed, and weakest exactly where it matters.

Methodological

The binding constraint is regions, not data 04

Four principled attempts to beat a 9-feature logistic regression all failed: a stacked ensemble, physically-motivated features, and sequence models (1D CNN, LSTM, GRU) on raw monthly series.

The sharpest evidence: chip-level training has ~140× more rows than region-level and scores lower (0.522 against 0.599) on an identical protocol. More samples inside the same five regions cannot substitute for more regions.

A result we had to correct. The grid-cell classifier first scored near 100%. That was not skill: two of six features encoded the labeling rule itself. A spatial-block split alone left accuracy unchanged, which proved the leakage was label-definition rather than the spatial autocorrelation we had assumed. Every number reported here comes from the corrected setup. A separate label-cleaning diagnostic first showed +0.123 before we caught a single-class test set scoring a free macro F1 of 1.0; the real effect is +0.028.

Results

Every task is scored against its own majority-class dummy floor, and reported as lift above that floor. Raw macro-F1 is not comparable across tasks with different class counts and balances.

TaskProtocolDummy F1Best modelLift over floor
Grid-cell attribution (H1–H3)Spatial block0.250MLP — 0.7600.511
Survival (H4), region-levelLeave-one-region-out0.136Logistic reg. — 0.5890.454
Survival (H4), chip-levelLeave-one-region-out0.174Logistic reg. — 0.5220.349
PersistenceTemporal holdout0.426MLP — 0.6510.225
Fusion, image-only armLeave-one-site-out0.333XGBoost — 0.5330.199
PersistenceLeave-one-region-out0.408Logistic reg. — 0.5990.191
Grid-cell attribution (H1–H3)Leave-one-region-out0.266Logistic reg. — 0.4490.183
Image chip classifierLeave-one-site-out0.333MLP — 0.4840.151

Figures

Each figure is rebuilt from the saved per-fold result files rather than from numbers copied into prose, so it cannot drift from the results it claims to show.

Eight panels comparing greening rate, rainfall trend, water-storage trend, survival level mix, monthly NDVI climatology, water-storage trajectory, NDVI-precipitation coupling, and greening rate against water trend, for all five regions.
Regional signatures. Greening rate, rainfall and water-storage trends, and the H4 survival mix per region, with the seasonal and trajectory detail those single numbers compress away. The final panel shows greening rate against water trend, where the anti-correlation is visible directly.
Grouped bar chart of macro-F1 lift over each task's dummy floor, for every model family across every task.
Every model, every task. Macro-F1 lift over each task's own dummy floor. Logistic regression wins under cross-region transfer more often than the higher-capacity families, which is the small-sample pattern that recurs throughout the project.
Grid of held-out satellite chips, each with its true-color image, true and predicted survival level, and NDVI trajectory sparkline.
Held-out predictions. Sentinel-2 true-color input, true against predicted survival_level, and the NDVI trajectory each call rests on. One misclassification is included deliberately: a panel of only correct predictions would misrepresent a model at 0.60 accuracy.
Bar chart comparing the baseline survival model against three attempts that failed to beat it.
Four attempts, four failures, one cause. The stacked ensemble, the physically-motivated features, and the sequence models each fall short of a 9-feature logistic regression, and each failure traces back to having only five distinct regions.

Reproducing this

Everything rebuilds from an empty clone and an Earth Engine account. No data is committed: it is all regenerated by the scripts.

  1. Install dependencies, then copy .env.example to .env and set your Google Cloud project id.
  2. Authenticate with Earth Engine.
  3. Download the data: regional series, grid-cell features, image chips, and per-chip monthly series.
  4. Build labels and run the models. Notebooks are committed with their output cells, so every number is readable without re-running anything.
git clone https://github.com/yasinnerten/dryland-survival-ai
cd dryland-survival-ai
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env      # then set PROJECT_ID

Full instructions, including every environment variable and the order the scripts run in, are in the README and DATA_COLLECTION.md.

What this does not show

Every label is a weak, rule-based proxy, so accuracy measures agreement with a rule rather than independent validation. At five regions, every macro-F1 is method validation rather than a powered claim.

GRACE's ~55 km footprint cannot resolve field-scale irrigation, which is why survival_level stops at an ordinal risk tier instead of forecasting remaining years. Inner Mongolia and Harran boundaries are literature-approximated rather than surveyed. All results are correlational, never causal.

Labeling a place "sustainable" or "irrigation-dependent" from orbit can mischaracterize a national restoration programme or a farming community without ground checks. We treat every output as a screening indicator, not policy evidence.