From bcba162afd838bb13fa9870e12592a49c90178ab Mon Sep 17 00:00:00 2001 From: fchinembiri Date: Fri, 1 May 2026 13:00:22 +0200 Subject: [PATCH] fix(worker): use correct band names for DE Africa STAC in hybrid inference --- apps/worker/hybrid_inference.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/worker/hybrid_inference.py b/apps/worker/hybrid_inference.py index 05bc774..7eec9a2 100644 --- a/apps/worker/hybrid_inference.py +++ b/apps/worker/hybrid_inference.py @@ -131,15 +131,29 @@ class DEAfricaSTACWrapper: raise ValueError("No STAC items found for this bounding box and time range.") print(f"Found {len(items)} STAC items. Loading into xarray...") + + # Mapping for DE Africa S2 bands + band_map = { + 'B04': 'red', + 'B03': 'green', + 'B02': 'blue', + 'B08': 'nir', + 'B05': 'red_edge_1', + 'SCL': 'scl' + } + ds = odc.stac.load( items, - measurements=['red', 'green', 'blue', 'nir', 'red_edge_1', 'scl'], + measurements=list(band_map.keys()), bbox=bbox, crs="EPSG:6933", resolution=resolution, groupby="solar_day" ) + # Rename bands to expected names + ds = ds.rename(band_map) + print("Masking clouds and shadows...") valid_mask = (ds.scl == 4) | (ds.scl == 5) | (ds.scl == 6) | (ds.scl == 2) | (ds.scl == 7) ds = ds.where(valid_mask)