{
  "by_scope": {
    "bengaluru": {
      "bands": {
        "High": 0,
        "Low": 0,
        "Medium": 0,
        "Rumored": 34
      },
      "dated": 24,
      "events": 34,
      "multi_family": 0,
      "multi_family_above_rumored": 0,
      "n_independent_families": {
        "1": 34
      },
      "undated_sentinel": 10,
      "with_magnitude": 0,
      "with_sar_magnitude": 0
    },
    "chandigarh": {
      "bands": {
        "High": 0,
        "Low": 0,
        "Medium": 0,
        "Rumored": 84
      },
      "dated": 81,
      "events": 84,
      "multi_family": 0,
      "multi_family_above_rumored": 0,
      "n_independent_families": {
        "1": 84
      },
      "undated_sentinel": 3,
      "with_magnitude": 0,
      "with_sar_magnitude": 0
    },
    "dehradun": {
      "bands": {
        "High": 0,
        "Low": 0,
        "Medium": 0,
        "Rumored": 2
      },
      "dated": 2,
      "events": 2,
      "multi_family": 0,
      "multi_family_above_rumored": 0,
      "n_independent_families": {
        "1": 2
      },
      "undated_sentinel": 0,
      "with_magnitude": 0,
      "with_sar_magnitude": 0
    },
    "delhi": {
      "bands": {
        "High": 0,
        "Low": 0,
        "Medium": 0,
        "Rumored": 175
      },
      "dated": 156,
      "events": 175,
      "multi_family": 0,
      "multi_family_above_rumored": 0,
      "n_independent_families": {
        "1": 175
      },
      "undated_sentinel": 19,
      "with_magnitude": 106,
      "with_sar_magnitude": 106
    },
    "india-other": {
      "bands": {
        "High": 0,
        "Low": 0,
        "Medium": 1,
        "Rumored": 34
      },
      "dated": 35,
      "events": 35,
      "multi_family": 1,
      "multi_family_above_rumored": 1,
      "n_independent_families": {
        "1": 34,
        "2": 1
      },
      "undated_sentinel": 0,
      "with_magnitude": 0,
      "with_sar_magnitude": 0
    },
    "mumbai": {
      "bands": {
        "High": 0,
        "Low": 0,
        "Medium": 0,
        "Rumored": 27
      },
      "dated": 18,
      "events": 27,
      "multi_family": 0,
      "multi_family_above_rumored": 0,
      "n_independent_families": {
        "1": 27
      },
      "undated_sentinel": 9,
      "with_magnitude": 0,
      "with_sar_magnitude": 0
    }
  },
  "caveats": [
    "IMD and India-WRIS are NOT sources here \u2014 IMD's machine endpoints return 401/403 and WRIS geo-blocks and is not GODL-licensed; nothing in this file promises them.",
    "A SAR positive and a news report are independent SENSORS but not independent of the underlying weather; the independence assumption in the confidence model is an approximation and is stated as one.",
    "City-level GDELT news_volume (events/gdelt_timeline_*.csv) is deliberately NOT used as a per-cell label \u2014 there is no location in it and inventing one would violate the no-fabrication rule.",
    "MLF-06's blocker \u2014 a human review session \u2014 is unchanged by this file: candidates are unreviewed reports, so a multi-family band here is a statement about report co-location, not a confirmed flood."
  ],
  "inputs": {
    "candidates": "candidates.json",
    "csv": "flood_events.csv",
    "sar": "sar_backfill_sample.csv"
  },
  "multi_family_events": [
    {
      "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. \u0905\u0917\u0932\u0947 3 \u0918\u0902\u091f\u094b\u0902 \u092e\u0947\u0902 \u092c\u093e\u0930\u093e\u092c\u0902\u0915\u0940, \u0932\u0916\u0928\u090a \u0914\u0930 \u0930\u093e\u092f\u092c\u0930\u0947\u0932\u0940 \u0915\u0947 \u0915\u0941\u091b \u0907\u0932\u093e\u0915\u094b\u0902 \u092e\u0947\u0902 \u0924\u0947\u091c\u093c \u0939\u0935\u093e\u0913\u0902 (3"
      ],
      "n_independent_families": 2,
      "occurred_start": "2026-07-14T20:00:00+00:00",
      "scope": "india-other"
    }
  ],
  "stop_if": {
    "fired": true,
    "multi_family_events": 1,
    "rule": "fewer than 10 events reach n_independent_families >= 2"
  },
  "ticket": "LBL-12",
  "total": {
    "bands": {
      "High": 0,
      "Low": 0,
      "Medium": 1,
      "Rumored": 356
    },
    "dated": 316,
    "events": 357,
    "multi_family": 1,
    "multi_family_above_rumored": 1,
    "n_independent_families": {
      "1": 356,
      "2": 1
    },
    "undated_sentinel": 41,
    "with_magnitude": 106,
    "with_sar_magnitude": 106
  },
  "what": "confidence_band x n_independent_families histogram of the in-memory fusion of the flood CSV plus the intakes named in `inputs` (aqualens-fuse-flood). It is NOT the world.event table: data/world/events.json is built from the database and is unchanged by this file."
}
