← Back to the map

Use your Earth Engine project.

The Earth Engine version runs satellite processing and displays Google satellite imagery in one place. The web workspace is a separate viewer with a saved analysis snapshot; load a new JSON file to refresh it.

Historical clear days and GIS exports

In the map, open Dates & GIS export, draw an area, select a date from 2020 onward, and click Find clear days & export. The Earth Engine app receives your area and month. Click Find clear days in month, choose one of the screened acquisition days, then analyze it. No fully observed, clear day means no result for that month and area.

Download measured water/MNDWI/date GeoTIFF or water polygons as GeoJSON. GeoTIFF uses 20 m UTM 42N (EPSG:32642); set NoData to -9999. GeoJSON opens in QGIS and ArcGIS and can be converted to Shapefile. For date switching in this viewer, copy each generated analysis JSON into a file and load it with Data. The GitHub site does not run satellite processing itself.

Cloud screening uses SCL classes 4/5/6 plus Cloud Score+ cs_cdf ≥ 0.65, requiring valid coverage throughout the selected area on that acquisition day. Automated screening can still miss clouds. Search submits your query to OpenStreetMap Nominatim and restricts results to Sindh.

Open the published app

Open Sindh Water Observatory on Google Earth Engine. Click Analyze to refresh observations. Use ☰ to hide controls on a narrow screen.

Run the source yourself

  1. Download the complete Earth Engine script.
  2. Open Google Earth Engine Code Editor in your account. Select your registered Cloud project, create a new script, and paste the downloaded code.
  3. Click Run, choose the observation window and detection method, then click Analyze latest available observations. Processing uses your Earth Engine project quota. The boundary is included. The generated water material asset is available to this project and the published app. Other accounts must upload the supplied texture GeoTIFF and change WATER_TEXTURE_ASSET.
  4. Use the swipe divider to compare Google satellite reference with the synthetic surface. Use the Layers controls to inspect water and unknown pixels.
  5. To use this web viewer, click Prepare web app analysis JSON in the Earth Engine app. Copy the output text into a file named sindh-analysis.json, then load it under Connect data. Temporary tile links can expire or require project access; the native Earth Engine app is the primary processing view.

Existing project: Kotri Bund Risk Monitor. Its published page has selected-window MNDWI and SAR layers. Its public JavaScript was successfully extracted. This app reuses its MNDWI > 0 and VV < −17 dB water thresholds and 24-day default window. The new processing uses per-pixel cloud masking and latest-valid mosaics rather than its median optical and mean radar composites.

Connect Google satellite to the web viewer

Earth Engine access and Maps JavaScript API access are separate. Enable Maps JavaScript API in your Google Cloud project and use a browser key restricted to this website’s origin. Enter it in Connect data. It is kept in memory for the current tab, not saved. Until connected, the web viewer uses labeled Esri reference imagery.

What the reconstruction does

Sentinel-2 water detection uses MNDWI, with scene-classification masks for clouds and shadows. The most recent valid pixel in the selected window supplies each observation. Sentinel-1 uses ascending IW scenes, linear-power speckle reduction, incidence-angle masking, slope exclusion and an adjustable VV threshold. These are experimental methods that need local validation.

The surface reconstruction combines the newest available dry Sentinel-2 pixels from the preceding year with an AI-generated water material guided by optical brightness and clipped to the detected water mask. It can fill formerly wet terrain where historical dry observations exist. It does not recover buildings or land detail never observed. AI styles only the water surface; it cannot change the satellite-derived shoreline. This is a synthetic composite, not a verified current photograph. The generated material is reused while each analysis refreshes the detection mask. Unknown classification remains unknown. Google imagery is a reference, not an input to image generation.

Area and coverage are approximate summaries at 100 m. MNDWI’s SWIR band is 20 m; zooming does not create new spatial detail. The latest scene date does not mean all of Sindh was observed that day.

Sources & privacy

Data: Sentinel-2 surface reflectance, Sentinel-1 radar, SRTM slope, and geoBoundaries gbOpen PAK ADM1 (public domain).

This viewer has no analytics or app database. Imported JSON stays in your browser; map requests go to the selected map providers. Google use is subject to Google Maps terms and Google’s privacy policy. The app incorporates those terms and does not claim ownership of provider imagery.