TerraSentinel

Satellite anomaly detection over EU study regions — wildfire, deforestation, cryosphere

Tables live

7 of 10

Rows served

77,849

Upstream sources

4

FIRMS · Sentinel · NOAA · NSIDC

Awaiting backfill

3

Sentinel via Earth Engine

gold_fire_anomalies

live Wildfire 1,460 rows · 2024-09-21 → 2026-09-20

Fire anomalies by region and day

Daily fire detections per study region, scored against the region's own ±15-day seasonal baseline using a median and scaled median-absolute-deviation. Includes context features: night-time share, cell concentration, FRP per detection, satellite count.

Source
NASA FIRMS — MODIS and VIIRS active fire products
Grain
one row per region per day, including zero-detection days
Time column
observation_date
28 columns
region_idobservation_datedetection_counth3_cell_counthigh_confidence_countfrp_sumfrp_maxfrp_meanconfidence_pct_meanbaseline_medianbaseline_madbaseline_scalebaseline_samplesbaseline_yearsbaseline_methodzscoreis_anomalyseverityanomaly_scoremodel_versionscored_atupdated_atnight_detection_sharecell_concentrationfrp_per_detectionnight_detection_countsatellite_countmax_cell_detections

Browse rows in the explorer or query it in the SQL console.

gold_h3_fire

live Wildfire 72,733 rows · 2024-09-21 → 2026-09-20

Fire detections per H3 cell

Detections aggregated into H3 resolution-7 hexagons (~5.2 km²). This is the map layer: sparse by design, because an absent cell means no detection rather than zero activity in a cell that was observed.

Source
NASA FIRMS
Grain
one row per H3 cell per day, only where detections exist
Time column
period_start
13 columns
source_idregion_idh3_indexlatitudelongitudeperiod_startperiod_grainmetric_typespatial_scopevaluehigh_confidence_countbaseline_meanupdated_at

Browse rows in the explorer or query it in the SQL console.

gold_ice_extent_trends

live Cryosphere 222 rows · 2026-06-01 → 2026-09-19

Sea-ice extent vs the 1981–2010 normal

Daily hemispheric sea-ice extent scored against the published NSIDC 1981–2010 per-day-of-year normal and its own standard deviation. The strongest baseline in the pipeline: 30 years, published, needing no estimation from our rows.

Source
NSIDC Sea Ice Index v4.0
Grain
one row per hemisphere per day
Time column
period_start
17 columns
region_idperiod_startmetric_typebaseline_sourcevaluebaseline_meanbaseline_stddevbaseline_sampleslatitudelongitudezscoreis_anomalyseverityanomaly_scoremodel_versionscored_atupdated_at

Browse rows in the explorer or query it in the SQL console.

gold_h3_sst

live Marine 1,972 rows · 2026-06-01 → 2026-09-01

Sea-surface temperature anomaly per H3 cell

Monthly mean sea-surface temperature anomaly, sampled at 1° and bucketed into H3 resolution-5 cells (~253 km²). Marine heatwaves are a shared precursor for Mediterranean fire risk and Norwegian glacier melt, which is why these cells belong on the same map as the fire cells.

Source
NOAA OISST v2.1 (via NOAA PSL OPeNDAP)
Grain
one row per H3 cell per month
Time column
period_start
13 columns
source_idregion_idh3_indexlatitudelongitudeperiod_startperiod_grainmetric_typespatial_scopevaluehigh_confidence_countbaseline_meanupdated_at

Browse rows in the explorer or query it in the SQL console.

gold_deforestation_index

awaiting backfill Vegetation

Deforestation index (NDVI, year-over-year)

Monthly mean NDVI per region with the same month a year earlier alongside, scored against that region's own distribution of year-over-year changes. A vegetation loss shows up as a negative z-score, so the anomaly test is on the lower tail.

Source
Copernicus Sentinel-2 via Google Earth Engine
Grain
one row per region per month
Time column
month_start

Blocked by: Sentinel-2 via Google Earth Engine. The collector and models are implemented; the backfill needs a Google Earth Engine service account.

gold_glacier_backscatter

awaiting backfill Cryosphere

Glacier SAR backscatter trend

Monthly Sentinel-1 VV backscatter per glacier region, scored against its own year-over-year change distribution. No published climatology exists for backscatter, so this baseline is weaker than the sea-ice arm's and `baseline_source` says so rather than implying equivalence.

Source
Copernicus Sentinel-1 via Google Earth Engine
Grain
one row per region per month
Time column
period_start

Blocked by: Sentinel-1 via Google Earth Engine. The collector and models are implemented; the backfill needs a Google Earth Engine service account.

gold_h3_sentinel

awaiting backfill Vegetation

Vegetation and glacier change per H3 cell

Year-over-year NDVI or SAR change per H3 resolution-5 cell (~253 km²). Deliberately coarse: bucketing Sentinel at resolution 7 would mean 200k+ polygons per region in a single Earth Engine call, which no free quota absorbs.

Source
Copernicus Sentinel-1/-2 via Google Earth Engine
Grain
one row per H3 cell per composite window
Time column
period_start

Blocked by: Sentinel-1/-2 via Google Earth Engine. The collector and models are implemented; the backfill needs a Google Earth Engine service account.

ml_predictions

live Operations internal 1,460 rows · 2024-09-21 → 2026-09-20

Model anomaly scores

Isolation Forest percentile score per region per day, ranked against the model's own training distribution so a percentile means the same thing now as it did at training time. Written by the batch scoring job, never by the transform.

Source
TerraSentinel ML layer
Grain
one row per region per day per model version
Time column
observation_date
10 columns
region_idobservation_datemodel_versionanomaly_scoreanomaly_percentileis_anomalythresholddataset_commitregion_kindscored_at

Browse rows in the explorer or query it in the SQL console.

pipeline_runs

live Operations internal 2 rows · 2026-09-21 → 2026-09-21

Workflow run history

One row per scheduled workflow execution: status, row counts, duration, and the GitHub run it came from. This is what the dashboard's freshness indicators read, so pipeline health is answered from data rather than from an uptime ping.

Source
TerraSentinel workflows
Grain
one row per workflow run
Time column
started_at
16 columns
run_idworkflowsource_idstatusstarted_atfinished_atduration_srows_writtenfailed_unitserrorgithub_run_idgithub_shagithub_actorgithub_refdetailsupdated_at

Browse rows in the explorer or query it in the SQL console.

sources

live Operations internal 0 rows

Source registry

Upstream sources with their cadence, attribution text and credential presence. The dashboard footer renders from this, so a licence attribution cannot drift out of date.

Source
TerraSentinel configuration
Grain
one row per source
Time column
12 columns
source_idlabelmetric_typesanomaly_typesh3_resolutioncadence_croncadence_humanattributiondocs_urlnotescredentialsupdated_at

Browse rows in the explorer or query it in the SQL console.

Licences and attribution

All four providers carry terms for open data use.

SourceProductsTerms
NASA FIRMS MODIS and VIIRS active fire / thermal anomalies NASA open data policy — free, attribution expected
Copernicus Sentinel Sentinel-2 (SR), Sentinel-1 (GRD), processed in Google Earth Engine Copernicus terms — free, open, attribution required. Earth Engine is free for research use
NOAA OISST Daily 0.25° sea-surface temperature anomaly NOAA open data — public domain
NSIDC Sea Ice Index Daily extent and the 1981–2010 climatology NSIDC terms — free, citation requested
The footer attribution is rendered from the sources table in the serving database, which the pipeline upserts on every run, so it cannot drift from the configuration the collectors actually use.