Outcome Contract
Outcome Contract — SAR Multi-Crop Acreage Estimator (Round 1)
Request
Build the Round-1 solution for a SAR-based agricultural-intelligence challenge: *Sown Area Progression & Multi-Crop Acreage Estimation*. Using multi-temporal X-band SAR imagery across the Kharif season, estimate the cultivated area (in hectares) of five crops — Rice, Cotton, Maize, Bajra, Groundnut — for every village in a test set. Submissions are scored by Mean Squared Error (MSE) across all crop-area columns and all villages. Output schema:
ID,Rice_ha,Cotton_ha,Maize_ha,Bajra_ha,Groundnut_ha
Scope & honest constraint
The official competition datasets (multi-temporal X-band SAR tiles, village boundary polygons, and the training/label tables) are **not present in this workspace**, and cannot be retrieved from the competition platform from here. Therefore the contracted, verifiable outcome is a **complete, runnable Round-1 pipeline** with a documented seam for the real data — not a leaderboard number.
What is delivered LIVE and verified:
- A reusable SAR preprocessing workflow (calibration domain handling,
multi-temporal speckle filtering, multi-temporal stacking).
- Agricultural-extent extraction from temporal backscatter dynamics.
- A physically-matched multi-crop acreage estimator (ridge linear unmixing,
with an optional random-forest residual model).
- Exact submission-file generation.
- A real-data ingestion seam (
src/ingest.mjs) that turns a per-village zonal
statistics table into model-ready stacks, plus the documented raster recipe.
- End-to-end verification on a physically-motivated synthetic Kharif benchmark.
Success criteria (MUST PASS)
node run.mjstrains and writes a validdata/submission.csvwith the exact
required header and one row per village, all values numeric and ≥ 0.
node verify.mjspasses 100% of its checks, asserting:
- calibration (dB ↔ linear) integrity;
- the temporal speckle filter reduces variance while preserving level;
- the agricultural-extent score is monotone in temporal variability;
- the model beats a naive column-mean baseline by a clear MSE margin;
- all predictions obey physical area constraints (0 ≤ area ≤ village area);
- the result is reproducible (seeded);
- the submission schema is exact;
- the real-data ingestion seam round-trips.
- Deterministic, dependency-free Node (no network, no native deps) so it runs
anywhere and is honestly re-runnable.
Out of scope (Round 1)
- Crop condition, yield, and production forecasting (later rounds).
- The GDAL/rasterio raster→zonal-stats step itself (documented as a seam; it is
the only stage requiring a geospatial stack).
Acceptance
Outcome is accepted when both MUST_PASS commands succeed on a clean checkout and the delivery package documents exactly how to swap in the official data to produce a real submission.