Data feed

The data is the static JSON files

Every number on the map comes from a JSON file this site publishes. You can download the same files. There is no key and no account. This project sets no rate limit. GitHub Pages hosts the files, and its own usage limits apply. The files change only when the world model is rebuilt and the site is deployed again.

Key
None
Account
None
Rate limit
None set by this project
Last rebuilt
Schema version
1
Expiry applied at
2026-10-14T05:40:23Z

A row past its valid_until is expired and must not be used.

Some inputs carry their own terms. Each file names its sources. Where a file names them only indirectly, the file table below says so.

The start point is manifest.json. It lists every file, its row count, the limit on that count and whether the limit was hit. Read it first, then fetch the files it names. There is no live HTTP API behind this site. The FastAPI code in deploy/api/ has no address set for this site (PUBLIC_API_BASE is unset in the deploy). The older API page described that code and now points here.

A free public-good service, for noncommercial use

This site is a free public-good service. It is declared noncommercial. It has no paid tier, no subscription and no advertising. It offers no insurer product and no commercial product. It does not sell or resell data.

The data comes from other owners. Each owner's terms apply to that data. Some sources allow noncommercial use only. If you download data here, follow the terms of each source in it. The licence for this site's own code is MIT. It does not change the terms of the data. The insurer-facing indices cards are labelled "Not for commercial use".

The table lists the sources that are not cleared for commercial use. For each one, it shows whether the free public use on this site is allowed. The reading is an engineer's, not legal advice. docs/LICENSING.md section 6 gives the evidence and says which clauses were read in full and which were not.

Sourcecommercial_oknoncommercial_okCheckedTerms
sentinel1_sar_flood no yes 2026-10-13 https://earthengine.google.com/noncommercial
reliefweb no uncertain 2026-10-13 https://reliefweb.int/terms-conditions
open_meteo_air_quality no yes 2026-10-13 https://open-meteo.com/en/terms
open_meteo_archive no yes 2026-10-13 https://open-meteo.com/en/terms
open_meteo_forecast no yes 2026-10-13 https://open-meteo.com/en/terms

Weather data by Open-Meteo.com (CC BY 4.0). Contains modified Copernicus Sentinel data (2017–2025).

Files the manifest declares

This table is built from manifest.json. “Rebuilt” is the export run the manifest records. A later commit can change a file without a new export, so the page also counts the rows in the file it was built from (“on disk”). The two counts must match; a mismatch is marked in the table. Truncated at their limit in this export: entities. Those files do not hold every row.

Expired rows left out at export: alerts 0, forecast 0. Rows with no valid_until, kept as never-expiring: alerts 0, forecast 0.

FileWhat it holdsRowsOn diskSizeRebuiltSources
events.json Fused hazard events for every exported place: when it happened, its confidence and band, how many independent source families back it, and any flags such as single-source. 210 / limit 20000 210 141.1 KB 2026-10-14 05:40 UTC Names its inputs only indirectly: created_from_obs lists observation ids, and n_sources / n_independent_families count them. The source of each observation is not in this file.
alerts.json Alerts still valid at the export's as_of: tier, the horizon in days, confidence, the basis in words, issued_at and valid_until. Expired rows are filtered out at export and counted in the manifest. 104 / limit 20000 104 53.1 KB 2026-10-14 05:40 UTC basis names the method and how many prior events it rests on. No source id per row.
forecast.json Per-cell flood forecasts still valid at the export's as_of: p with its p_lo / p_hi interval, the band, the model that issued it, the horizon, issued_at and valid_until. 2910 / limit 20000 2910 3.31 MB 2026-10-14 05:40 UTC model_version and basis name what produced each row. Named in this export (2 distinct): baseline-climatology+livewx-v1, baseline-climatology-v1.
projections.json Climate-index projections per place, scenario (SSP) and decade, summarised across n_models: min, q1, median, q3, max and iqr. 80 / limit 20000 80 41.1 KB 2026-10-14 05:40 UTC source names the dataset; basis lists the climate models used. Named in this export (1 distinct): NEX-GDDP-CMIP6.
forest_loss.json Points where radar backscatter dropped enough to flag possible forest loss, with the change in dB, the period, whether the point is inside the forest mask and whether Hansen confirms it. 801 / limit 20000 801 299.7 KB 2026-10-14 05:40 UTC source names the satellite; basis states the threshold. Named in this export (1 distinct): Sentinel-1.
plastic_index.json Plastic-pollution index rows, when the plastic pipeline has written any. 0 / limit 20000 0 26 B 2026-10-14 05:40 UTC No rows in this export, so there is nothing to name.
entities.jsontruncated The typed entity graph: cities, regions, dams, sites and gauge stations, with geometry, a confidence and a provenance string. 20000 / limit 20000 20000 11.55 MB 2026-10-14 05:40 UTC provenance names where each entity came from. Named in this export (8 distinct): config: configs/city/amritsar.yaml, config: configs/city/bengaluru.yaml, config: configs/city/chandigarh.yaml, config: configs/city/dehradun.yaml and 4 more in the file.
depth_estimate.json Modelled flood depth in metres per cell and week, with a low-high band, still valid at the export's as_of. A GLOFAS discharge through a synthetic rating curve onto a research-licensed HAND surface: three modelled layers. Empty until the HYD-11 extent gate has passed. 0 / limit 20000 0 27 B 2026-10-14 05:40 UTC licence_class is research_noncommercial on every row: HydroSHEDS and MERIT-Hydro bar commercial use, whatever the accuracy.
hazard_readings.json The latest measured or derived reading per place and hazard (for example an air-quality index), with its band, the driver, the unit and when it became valid. 70 / limit 20000 70 46.7 KB 2026-10-14 05:40 UTC source_id names the source on every row; it matches a row of the terms table below where one exists. Named in this export (3 distinct): cgwb_well (commercial_ok unresolved), open_meteo_air_quality (commercial_ok false), open_meteo_forecast (commercial_ok false).
event_catalog.json The catalogue of dated historical flood events used as labels: the event window, the radar pre- and post-windows, the mechanism, the label status and the mapped extent. 26 / limit 5000 26 16.2 KB 2026-10-14 05:40 UTC provenance names the config and label file; source_url is set where there is one. Named in this export (13 distinct): configs/city/bengaluru.yaml events[] + data/india/sar_labels.json, configs/city/chandigarh.yaml events[] + data/india/sar_labels.json, configs/city/delhi.yaml events[] + data/india/sar_labels.json, configs/city/mumbai.yaml events[] + data/india/sar_labels.json and 9 more in the file.
registry.json The world-model registry: theatres, places (AOIs), regions, hazards and data sources, including each source's licence string and commercial_ok flag. 103 / limit 5000 103 35.8 KB 2026-10-14 05:40 UTC This file is the list of sources. Its sources array names every one.
manifest.json The index of this feed: schema version, when the export ran (generated_at), the as_of instant expiry was applied at, how many rows were left out as expired, the row count, limit and truncation state of every file, and the highest database migration applied. — — 1.8 KB 2026-10-14 05:40 UTC An index, not data. It names the files, not sources.

Other files in the same folder

These files sit beside the export, but another command writes them. The manifest declares no row count, limit or rebuild time for them, so this page shows none.

FileWhat it holdsWritten bySizeRebuilt
events_confidence_histogram.json How many fused flood events sit in each confidence band and how many independent source families stand behind them, from an in-memory fusion of the flood CSV, the unreviewed event candidates and a one-week Sentinel-1 pilot sample. A count of report co-locations, not of confirmed floods. At the last run 1 of 357 events had two families, and that one is a weather-forecast coincidence. Counts come from events/flood_events.csv, data/flood_events/candidates.json and data/delhi/sar_backfill_sample.csv; the file names them under inputs. It is not the world.event table: events.json is unchanged by it. aqualens-fuse-flood --histogram-out (src/aqualens/hazards/flood/events_fusion.py) 4.8 KB not recorded
forest_loss_area.json A sidecar to forest_loss.json: buffer-based area estimates in hectares for flagged points, with the pixel counts, buffer, scale and dB threshold behind each estimate, and its own caveats. Names its windows (before_window, after_window) and caveats at file level, not per entry. aqualens-deforestation area-estimate 48.5 KB not recorded
forest_loss_window.json A sidecar to forest_loss.json: for each flagged point, the month of the change, the radar window it was measured over and the Hansen asset it was checked against. Names the Hansen asset per entry and the source CSV commit at file level (source.csv_ref). scripts/forest_loss_windows.py 39.2 KB not recorded

One real row of each shape

Each sample is the first row of the file this page was built from. Three fields carry the honesty rails. valid_until says when a row stops being usable. p_lo and p_hi are the uncertainty bounds around a probability. model_version names the model that made the row. Most files do not carry all three. Each card says which rail is absent, and why.

Long arrays and strings are shortened on this page, and the text says where. The file itself is never shortened.

events

210 rows · events.json
valid_until
not carried — An event is a past occurrence. It carries occurred_start and occurred_end, not an expiry.
p_lo / p_hi
not carried — No interval. It carries one confidence value and a confidence_band.
model_version
not carried — Rows do not record which version of the fusion code made them.
{
  "event_id": "010cf46c-213c-e4ee-99ae-db7e73607d6c",
  "aoi_id": "bengaluru",
  "hazard_slug": "flood",
  "event_type": "waterlogging",
  "cell_id": "43PGQ8043",
  "resolved_precision_m": 30,
  "occurred_start": "2020-01-01T12:00:00+00:00",
  "occurred_end": "2020-01-01T12:00:01+00:00",
  "status": "candidate",
  "confidence": 0.85,
  "confidence_band": "Rumored",
  "n_sources": 1,
  "n_independent_families": 1,
  "flags": [
    "single-source"
  ],
  "created_from_obs": [
    "8f94538b-3549-ab05-c291-4edfaa8c0b04"
  ],
  "updated_at": "2026-10-14T05:36:30.995587+00:00"
}

alerts

104 rows · alerts.json
valid_until
2026-10-17T05:21:01.874807+00:00
p_lo / p_hi
not carried — No interval. It carries one confidence value.
model_version
not carried — basis names the method in words.
{
  "alert_id": "12c64058-7a85-42cc-a5db-fe5f53dc1062",
  "aoi_id": "delhi",
  "cell_id": "43RGM1667",
  "hazard_slug": "flood",
  "tier": "warning",
  "horizon_days_min": 0,
  "horizon_days_max": 3,
  "confidence": 0.569,
  "basis": "persistence+rainfall baseline: 47 prior event(s), 13mm rain forecast",
  "issued_at": "2026-10-14T05:21:01.874807+00:00",
  "valid_until": "2026-10-17T05:21:01.874807+00:00",
  "lon": 77.21427910495645,
  "lat": 28.616540849945064
}

forecast

2910 rows · forecast.json
valid_until
2026-10-21T05:21:01.874807+00:00
p_lo / p_hi
p_lo 0.648665 · p_hi 0.852502
model_version
baseline-climatology+livewx-v1
{
  "forecast_id": "7b16abce-e5b6-4f12-b641-ca79c96af54c",
  "aoi_id": "delhi",
  "cell_id": "43RFM9370",
  "hazard_slug": "flood",
  "period": 614,
  "horizon_days": 7,
  "p": 0.784891,
  "p_lo": 0.648665,
  "p_hi": 0.852502,
  "p_ens_lo": 0.765625,
  "p_ens_hi": 0.784891,
  "band": "High",
  "model_version": "baseline-climatology+livewx-v1",
  "basis": "climatology: 49/64 prior flood period(s) in this cell (base rate 0.079); conditioned on 14mm live 7-day rain forecast (0.766→0.785) — measured in June to September weeks only; this… (108 more characters elided on this page)",
  "issued_at": "2026-10-14T05:21:01.874807+00:00",
  "valid_until": "2026-10-21T05:21:01.874807+00:00",
  "lon": 76.9796739482695,
  "lat": 28.647232861049137,
  "geojson": null,
  "contributions": [
    {
      "value": 0.7656,
      "feature": "this_cell_flood_history",
      "direction": "raises",
      "contribution": 3.636
    },
    {
      "value": 13.7,
      "feature": "live_7day_rain_mm",
      "direction": "raises",
      "contribution": 0.1106
    }
  ],
  "period_kind": "week",
  "is_learned": false
}

Shortened on this page. Fetch the file for the full row.

projections

80 rows · projections.json
valid_until
not carried — A projection describes a decade (horizon), not a moment. It has no expiry.
p_lo / p_hi
not carried — No p_lo / p_hi. The spread is min / q1 / q3 / max across the climate models, which is model disagreement, not a probability interval.
model_version
not carried — basis lists the climate models by name.
{
  "projection_id": "7fd751b6-9d95-4c60-99fd-bc8a484b7682",
  "aoi_id": "bihar",
  "source": "NEX-GDDP-CMIP6",
  "ssp": "ssp245",
  "index_name": "days_ge_40c",
  "unit": "days",
  "horizon": "2021-2030",
  "n_models": 4,
  "min": 21,
  "q1": 34.5,
  "median": 43,
  "q3": 51,
  "max": 63,
  "iqr": 16.5,
  "basis": "NASA/GDDP-CMIP6; models=ACCESS-CM2,CanESM5,EC-Earth3,MIROC6",
  "issued_at": "2026-10-14T05:18:54.633585+00:00"
}

forest_loss

801 rows · forest_loss.json
valid_until
not carried — A detection is a past change. It carries detected_at and period, not an expiry.
p_lo / p_hi
not carried — No interval. The flag is a threshold test on change_db.
model_version
not carried — basis states the threshold rule.
{
  "loss_id": "99b7f9d9-3967-4139-8ae2-7991f4c4b54b",
  "aoi_id": "himachal",
  "lon": 76.27325,
  "lat": 31.019,
  "change_db": 12.155,
  "period": "2023",
  "in_forest_mask": true,
  "hansen_confirmed": false,
  "source": "Sentinel-1",
  "basis": ">= 2.5dB over 4 passes",
  "detected_at": "2026-10-14T05:16:41.389553+00:00"
}

plastic_index

0 rows · plastic_index.json
valid_until
not carried — No rows in this export.
p_lo / p_hi
not carried — No rows in this export.
model_version
not carried — No rows in this export.

This file holds 0 rows in this export, so there is no row to show.

entities

20000 rows · entities.json
valid_until
not carried — Reference data. It does not expire; version counts edits to the row.
p_lo / p_hi
not carried — No interval. It carries one confidence value.
model_version
not carried — version is the row's edit count, not a model.
{
  "entity_id": "b1727041-3e0f-2b02-cf1e-d377cec167b4",
  "aoi_id": "amritsar",
  "entity_type": "city",
  "name": "Amritsar",
  "geometry": {
    "type": "Polygon",
    "coordinates": [
      [
        "[… 2 items elided on this page]",
        "[… 2 items elided on this page]",
        "[… 2 items elided on this page]",
        "[… 2 items elided on this page]",
        "… 1 more items elided on this page"
      ]
    ]
  },
  "centroid_lon": 74.87870000000001,
  "centroid_lat": 31.6357,
  "cell_id": "43RDR8800",
  "attributes": {
    "bbox": [
      74.7187,
      31.4757,
      75.0387,
      31.7957
    ],
    "source": "config"
  },
  "confidence": 1,
  "provenance": "config: configs/city/amritsar.yaml",
  "version": 53
}

Shortened on this page. Fetch the file for the full row.

depth_estimate

0 rows · depth_estimate.json
valid_until
not carried —
p_lo / p_hi
not carried —
model_version
not carried — depth_basis names the three-layer chain; is_learned is an explicit flag, not read from the model_version.

This file holds 0 rows in this export, so there is no row to show.

hazard_readings

70 rows · hazard_readings.json
valid_until
not carried — A reading has valid_from only; judge its age from that.
p_lo / p_hi
not carried — No interval. It carries a value and a band.
model_version
not carried — basis names the banding scale.
{
  "aoi_id": "abu_dhabi",
  "theatre_id": "middle_east",
  "hazard_slug": "air_quality",
  "metric": "aqi",
  "value": 89.2,
  "unit": "CPCB AQI",
  "band": "Satisfactory",
  "band_scale": "cpcb",
  "driver": "pm2_5",
  "flags": [],
  "source_id": "open_meteo_air_quality",
  "basis": "cpcb-national-aqi-2014",
  "valid_from": "2026-10-13 11:00:00+00:00",
  "lon": 54.5,
  "lat": 24.45,
  "payload": {
    "pm10": 60.8,
    "pm2_5": 53.4,
    "health": "Minor breathing discomfort to sensitive people.",
    "hours_above_200": 0
  }
}

event_catalog

26 rows · event_catalog.json
valid_until
not carried — A historical event. It does not expire.
p_lo / p_hi
not carried — No interval. weight is a training weight, not an uncertainty.
model_version
not carried — label_status says how the event was labelled.
{
  "catalog_id": "bengaluru-2017-pluvial",
  "aoi_id": "bengaluru",
  "theatre_id": "india",
  "hazard_slug": "flood",
  "name": "2017 pluvial",
  "mechanism": "pluvial",
  "occurred_from": "2017-08-13",
  "occurred_to": "2017-09-01",
  "pre_from": "2017-06-24",
  "pre_to": "2017-08-02",
  "post_from": "2017-08-13",
  "post_to": "2017-09-01",
  "orbit": "DESCENDING",
  "weight": 0.3,
  "label_status": "sar_labelled",
  "extent_km2": 19.293,
  "source_url": null,
  "provenance": "configs/city/bengaluru.yaml events[] + data/india/sar_labels.json"
}

registry.theatres

2 rows · registry.json
valid_until
not carried — Reference data. It does not expire.
p_lo / p_hi
not carried — Reference data. It has no uncertainty.
model_version
not carried — Reference data. No model produces it.
{
  "theatre_id": "india",
  "name": "India Hazard Watch",
  "default_aoi": "delhi",
  "is_default": true,
  "admin_levels": [
    "state",
    "district",
    "ward"
  ],
  "languages": [
    "en",
    "hi",
    "pa"
  ],
  "countries": [
    "IN"
  ],
  "west": 68,
  "south": 6,
  "east": 98,
  "north": 38
}

registry.aois

53 rows · registry.json
valid_until
not carried — Reference data. It does not expire.
p_lo / p_hi
not carried — Reference data. It has no uncertainty.
model_version
not carried — Reference data. No model produces it.
{
  "aoi_id": "amritsar",
  "theatre_id": "india",
  "name": "Amritsar",
  "kind": "city",
  "country": null,
  "bbox_source": "derived",
  "status": "served",
  "grid_built": true,
  "lon": 74.87870000000001,
  "lat": 31.6357
}

registry.regions

10 rows · registry.json
valid_until
not carried — Reference data. It does not expire.
p_lo / p_hi
not carried — Reference data. It has no uncertainty.
model_version
not carried — Reference data. No model produces it.
{
  "region_id": "arid_northwest",
  "theatre_id": "india",
  "name": "Arid Thar (western Rajasthan & Kutch)",
  "taxonomy": "biogeographic",
  "dominant_hazards": [
    "heat",
    "drought",
    "cmip"
  ],
  "aois": [
    "bikaner",
    "jaipur",
    "jodhpur",
    "kota"
  ]
}

registry.hazards

16 rows · registry.json
valid_until
not carried — Reference data. It does not expire.
p_lo / p_hi
not carried — Reference data. It has no uncertainty.
model_version
not carried — Reference data. No model produces it.
{
  "hazard_slug": "air_quality",
  "name": "Air quality",
  "method_class": "index",
  "config_path": null,
  "theatres": [
    "india",
    "middle_east"
  ]
}

registry.sources

22 rows · registry.json
valid_until
not carried — Reference data. It does not expire.
p_lo / p_hi
not carried — Reference data. It has no uncertainty.
model_version
not carried — Reference data. No model produces it.
{
  "source_id": "cgwb_well",
  "family_id": "cgwb",
  "label": "India CGWB groundwater-level readings (data.gov.in)",
  "modality": "hydrological",
  "reliability_w": 0.9,
  "license": "data.gov.in (provenance-tagged)",
  "url": null,
  "commercial_ok": "unknown",
  "licence_ref": "https://www.data.gov.in/",
  "licence_checked_on": "2026-08-25",
  "noncommercial_ok": "uncertain",
  "noncommercial_licence_ref": "https://www.data.gov.in/",
  "noncommercial_checked_on": "2026-10-13"
}

events_confidence_histogram.multi_family_events

1 row · events_confidence_histogram.json
valid_until
not carried — A count at one run. It does not expire.
p_lo / p_hi
not carried — No interval. These are counts, not estimates.
model_version
not carried — inputs names the three files fused; the fusion config is configs/fusion/.
{
  "band": "Medium",
  "cell_id": "44RMQ9469",
  "families": [
    "news",
    "sachet"
  ],
  "flags": [
    "coarse-location",
    "cross-family-echo"
  ],
  "member_text": [
    "Scattered relief , no sign of heavy rains in coming days | Lucknow News",
    "Moderate Rain. अगले 3 घंटों में बाराबंकी, लखनऊ और रायबरेली के कुछ इलाकों में तेज़ हवाओं (3"
  ],
  "n_independent_families": 2,
  "occurred_start": "2026-07-14T20:00:00+00:00",
  "scope": "india-other"
}

forest_loss_area.estimates (one entry per key)

148 rows · forest_loss_area.json
valid_until
not carried — A past change estimate. It does not expire.
p_lo / p_hi
not carried — No interval. area_ha is a point estimate from pixel counts.
model_version
not carried — threshold_db states the rule.
{
  "loss_id": "b9bb7b44-1b39-47ce-ac77-e869d243de84",
  "lon": 78.52425,
  "lat": 30.42625,
  "n_pixels_over_threshold": 7,
  "n_pixels_sampled": 160,
  "area_ha": 0.63,
  "buffer_m": 200,
  "scale_m": 30,
  "threshold_db": 2.5,
  "pt": "78.52425_30.42625"
}

forest_loss_window.windows (one entry per key)

161 rows · forest_loss_window.json
valid_until
not carried — A past change. It does not expire.
p_lo / p_hi
not carried — No interval.
model_version
not carried — hansen_asset names the dataset version checked against.
{
  "change_month": "2025-11",
  "change_db": 3.995,
  "sar_window": [
    "2025-02-16",
    "2026-08-10"
  ],
  "hansen_asset": "UMD/hansen/global_forest_change_2025_v1_13 lossyear"
}

The manifest itself

{
  "schema_version": 1,
  "generated_at": "2026-10-14T05:40:23Z",
  "as_of": "2026-10-14T05:40:23Z",
  "expired": {
    "alerts": 0,
    "forecast": 0,
    "depth_estimate": 0
  },
  "n_null_expiry": {
    "alerts": 0,
    "forecast": 0,
    "depth_estimate": 0
  },
  "max_migration": "0038_obs_superseded.sql",
  "aois": [
    "abu_dhabi",
    "amritsar",
    "basra",
    "bathinda",
    "bengaluru",
    "bhiwani",
    "bikaner",
    "chandigarh",
    "dehradun",
    "delhi",
    "doha",
    "dubai",
    "faridkot",
    "fazilka",
    "gurdaspur",
    "hoshiarpur",
    "hyderabad",
    "jaipur",
    "jeddah",
    "jind",
    "jodhpur",
    "kanpur",
    "kota",
    "kuwait_city",
    "lucknow",
    "ludhiana",
    "manama",
    "mangaluru",
    "mumbai",
    "muscat",
    "pathankot",
    "patna",
    "pune",
    "riyadh",
    "rohtak",
    "ropar",
    "shimla",
    "sirsa",
    "varanasi"
  ],
  "counts": {
    "events": 210,
    "alerts": 104,
    "forecast": 2910,
    "projections": 80,
    "forest_loss": 801,
    "plastic_index": 0,
    "entities": 20000,
    "depth_estimate": 0,
    "hazard_readings": 70,
    "event_catalog": 26,
    "registry": 103
  },
  "limits": {
    "events": 20000,
    "alerts": 20000,
    "forecast": 20000,
    "depth_estimate": 20000,
    "projections": 20000,
    "forest_loss": 20000,
    "plastic_index": 20000,
    "entities": 20000,
    "hazard_readings": 20000,
    "event_catalog": 5000,
    "registry": 5000
  },
  "truncated": [
    "entities"
  ],
  "licence_class": {
    "events": "unknown",
    "depth_estimate": null,
    "hazard_readings": "no",
    "alerts": null,
    "forecast": null,
    "projections": null,
    "forest_loss": null,
    "plastic_index": null,
    "entities": null,
    "event_catalog": null,
    "registry": null
  }
}

Terms, per source family

This table comes from the OPS-10 licence verdict in docs/LICENSING.md (24 rows, checked 2026-08-25). It is an engineer's reading of published terms, not legal advice. commercial_ok is true, false or unresolved. Treat unresolved like false: do not sell on that input until it is resolved. Most false verdicts concern the access path (Earth Engine, the Open-Meteo free tier), not the data itself. The licence document explains each one.

Source familySourcesLicencecommercial_ok
municipal_advisory pwd_advisory media/advisory-derived; geocoded via OSM Nominatim
true
gdelt gdelt_news Public Domain
true
gfd_satellite global_flood_db free (Cloud to Street / global-flood-database)
unresolved
copernicus_sar sentinel1_sar_flood Copernicus Open Access (via Google Earth Engine, noncommercial)
false today, via GEE
cgwb cgwb_well data.gov.in (provenance-tagged)
unresolved
grace grace_satellite Public Domain (NASA/DLR)
true
gdacs gdacs_rss free / official public GeoRSS feed (automated consumption intended)
true
imd imd_warnings free/official; rainfall via data.gov.in needs an API key
unresolved
wikipedia wikipedia CC BY-SA (attribution required)
true
news gdelt_doc, news_rss Public Domain (GDELT) · per-outlet RSS/Atom feeds (published for automated consumption)
true (gdelt_doc)
unresolved (news_rss)
humanitarian reliefweb free/open (UN OCHA; appname-identified)
false
eonet eonet_events free/open (NASA)
true
sachet sachet_cap free/official (NDMA; published for agencies to rebroadcast)
unresolved
wmo_alerthub wmo_cap free/official (WMO)
unresolved
social_public mastodon, social_public per-instance open API (no key/auth on permitting instances) · per-platform, house-rule-clean paths only
unresolved (mastodon)
unresolved (social_public)
open_meteo open_meteo_forecast, open_meteo_air_quality, open_meteo_archive CC BY 4.0 (open data, no key) · CC BY 4.0 (ERA5, Copernicus)
false today, via the free tier (open_meteo_forecast)
false today, via the free tier (open_meteo_air_quality)
false today, via the free tier (open_meteo_archive)
MERIT-Hydro MERIT-Hydro DATA.md previously: "free (research)"
true conditional
HydroRIVERS v10 HydroRIVERS v10 — (not in sources.yaml)
unresolved
HydroBASINS v1c, level 12 HydroBASINS v1c, level 12 — (not in sources.yaml)
unresolved
OSM waterway=canal OSM waterway=canal — (not in sources.yaml)
true

Map layer files

The map also reads layer files under /data/. Other commands write them. The manifest does not declare them, so there is no row count or rebuild time here. Where a layer carries its own date, the map's freshness pill shows it from freshness.json.

PathFilesSize
/data/admin_boundaries/ 3 709.8 KB
/data/board/ 1 45.0 KB
/data/boundaries/ 4 33.8 KB
/data/cell_dossier/ 2 10.28 MB
/data/cloudburst/ 1 6.1 KB
/data/dam_safety/ 1 4.9 KB
/data/depth/ 1 18 B
/data/dossier/ 4 99.6 KB
/data/drains/ 4 539.9 KB
/data/drought/ 1 296.7 KB
/data/entities/ 2 5.0 KB
/data/flood/ 4 9.2 KB
/data/floodlens/ 28 9.35 MB
/data/floodrisk/ 4 1.54 MB
/data/forecast/ 2 3.31 MB
/data/forest_loss/ 298 22.12 MB
/data/freshness.json 1 958 B
/data/hazards_status.json 1 8.0 KB
/data/heat/ 53 18.73 MB
/data/history/ 4 7.6 KB
/data/hydro/ 4 7.34 MB
/data/india/ 1 12.6 KB
/data/indices/ 4 3.5 KB
/data/indices_cards/ 4 18.1 KB
/data/landslide/ 15 6.76 MB
/data/manifest.json 1 9.5 KB
/data/middle_east/ 7 24.8 KB
/data/place_cards/ 59 201.1 KB
/data/places/ 5 433.6 KB
/data/pois.geojson 1 1.58 MB
/data/pois_meta.json 1 672 B
/data/railways.geojson 1 1.48 MB
/data/railways_meta.json 1 525 B
/data/record/ 3 1009.7 KB
/data/review/ 1 25.6 KB
/data/roads.geojson 1 5.17 MB
/data/roads_meta.json 1 556 B
/data/routes/ 1 1.9 KB
/data/scenario/ 2 7.48 MB
/data/search_index.json 1 173.2 KB
/data/spine/ 4 7.8 KB
/data/water_stress/ 1 31.4 KB
/data/world/ 4 1.01 MB

Example: curl -s https://agambear25.github.io/india-hazard-watch/legacy/data/world/manifest.json