Under the hood
A question comes in; a registered method, open data and deterministic code produce an Evidence Card. Here is every part of that path and what it does.
A question comes in; a registered method, open data and deterministic code produce an Evidence Card. Here is every part of that path and what it does.
Sentinel-1 radar and Sentinel-2 optical imagery (Copernicus), Hansen/UMD tree cover and loss (Landsat), ESA WorldCover and Impact Observatory land cover, Copernicus DEM, JRC Global Surface Water, ERA5-Land reanalysis, CHIRPS rainfall, CHELSA climate normals, CMIP6 projections, NASA FIRMS active-fire detections, BIPAD incidents, USGS earthquakes, GBIF occurrences, WorldPop population and OpenStreetMap. Every source, version and licence: Data & Sources.
Satellite scenes are found through STAC catalogues (Microsoft Planetary Computer, Earth Search) and read as COGs with HTTP range requests, so only the pixels inside your area are downloaded — at the resolution the result reports.
Every analysis is a registered, versioned method (data/recipes.json) with its data, algorithm, parameters, resolution, uncertainty, validation status and what it is not suitable for. A question can only run a registered method. Browse the methods.
Questions are matched to recipes by a deterministic rule-based planner that reads the place, the period and the event date, then shows its interpretation for you to confirm. No language model computes any environmental number.
Light analyses run in your browser in plain JavaScript (Leaflet for the map, geotiff.js for rasters): zonal areas, Theil–Sen and Mann–Kendall trends, SPI, slope and aspect. No framework, so the app stays small on slow connections.
Heavy analyses (e.g. Sentinel-1 flood extent over large areas) run as asynchronous jobs on Cloudflare Workers and Containers, with a Python processor (NumPy, rasterio / GDAL, pyproj), admission limits, a spending guard and stored outputs. It builds the same evidence object as the browser.
Before a number is shown it must pass ten checks — source, version, resolution, period, coverage, parameters, method, uncertainty, validation status and a valid output. The card then carries the result, method, sources, uncertainty, validation status and a deterministic analysis ID you can reproduce and cite.
Accounts, row-level security, saved places and analyses, the fire and incident history (rebuilt every three hours by a scheduled function) and the analysis job store. Access is decided in the database, not in the browser.
Pages serves the site and its server functions (proxies for FIRMS, BIPAD and STAC with keys kept server-side, rate limits, the status checks). A strict Content-Security-Policy, security headers and a 91-check penetration test that runs daily in CI and before releases.
GeoSutra does not replace Google Earth Engine or a GIS. It sits one level up: you ask an environmental question about a place in Nepal, a documented method runs on named data, and you get evidence you can check, reproduce and cite.