{
 "pack": "MY",
 "protocol": "(the Bible's rule: nothing is selected on the reported years):\n  * forcing: MERRA-2 hourly rain + T2M + Hargreaves PET per region (NASA POWER engine points, basin mean), 2000 as spin-up\n    (tools/fetch_long_record.py); the pack's climate.snow switches the QSM degree-day snow module on (TR, HU);\n  * truth: region × day reference catalogue 2001–2026 (GDACS + the pack's curated rows, tools/build_truth_long_record.py) — OBSERVED;\n  * detectors (continuous daily signals): QSM fast runoff (qd), 3-day runoff volume (vol3), wet-soil rain index (wet), Clark-routed\n    1,000 km² basin peak (qr), basin rain 1 d / 3 d (baselines), GloFAS Q/Q2 at the region's river points when the feed was reachable;\n  * CALIBRATION 2001–2019: (a) the a-priori 2-year Gumbel flag on the training annual maxima, (b) a per-region CSI-optimal threshold,\n    (c) the learning layer — pooled logistic regression on the standardised signals + regime (longrecord.pack_meta), decision thresholds\n    chosen on the training years; HELD-OUT 2020–2026: every score reported here is computed on data the calibration never saw.\n  * scores: event rules of the v6.5 / 2.x reports (hit = signal in [start − 2 d, end]; false alarm = signal episode with no truth in\n    [start, end + 3 d]); POD, FAR, CSI; day-level AUC with a 3-day trailing max; per region, national, by regime.",
 "days": 9405,
 "states": [
  "Perlis",
  "Kedah",
  "Pulau Pinang",
  "Perak",
  "Selangor",
  "Kuala Lumpur",
  "Putrajaya",
  "Negeri Sembilan",
  "Melaka",
  "Johor",
  "Pahang",
  "Terengganu",
  "Kelantan",
  "Sabah",
  "Sarawak",
  "Labuan"
 ],
 "regions": [
  "Perlis",
  "Kedah",
  "Pulau Pinang",
  "Perak",
  "Selangor",
  "Kuala Lumpur",
  "Putrajaya",
  "Negeri Sembilan",
  "Melaka",
  "Johor",
  "Pahang",
  "Terengganu",
  "Kelantan",
  "Sabah",
  "Sarawak",
  "Labuan"
 ],
 "snow": false,
 "glofas": "GloFAS v4 reanalysis (Open-Meteo flood API) at 33 river points",
 "train": "2001-01-01..2019-12-31",
 "test": "2020-01-01..2026-10-01",
 "truth_state_days": 902,
 "truth_state_days_train": 118,
 "truth_state_days_test": 784,
 "truth_episodes_train": 22,
 "truth_episodes_test": 117,
 "thin_held_out": false,
 "learning_layer": {
  "features": [
   "qd",
   "vol3",
   "wet",
   "qr",
   "rain1",
   "rain3",
   "glofas",
   "sat",
   "urban"
  ],
  "coef": [
   -0.324,
   1.51,
   3.802,
   0.711,
   -2.013,
   -1.042,
   0.691,
   -1.707,
   -0.441
  ],
  "intercept": -2.168,
  "tau": 0.985,
  "tau_watch": 0.86,
  "train_csi_mean_states": 0.034,
  "mu": [
   0.2842,
   2.2573,
   2.1803,
   0.2261,
   2.1561,
   2.9848,
   0.2043,
   1.0407,
   0.375
  ],
  "sd": [
   0.2685,
   1.2431,
   0.9765,
   0.2023,
   0.8858,
   0.9117,
   0.1675,
   0.2461,
   0.4841
  ]
 },
 "national": {
  "2001-2019 calibration": {
   "glofas ≥ 2-yr (a priori)": {
    "events": 22,
    "hits": 5,
    "false_alarms": 252,
    "POD": 0.227,
    "FAR": 0.981,
    "CSI": 0.018
   },
   "glofas ≥ calibrated": {
    "events": 22,
    "hits": 13,
    "false_alarms": 1092,
    "POD": 0.591,
    "FAR": 0.987,
    "CSI": 0.012
   },
   "learning layer (logistic, trained 2001–2019)": {
    "events": 22,
    "hits": 4,
    "false_alarms": 93,
    "POD": 0.182,
    "FAR": 0.949,
    "CSI": 0.035
   },
   "learning layer ∪ GloFAS": {
    "events": 22,
    "hits": 6,
    "false_alarms": 263,
    "POD": 0.273,
    "FAR": 0.978,
    "CSI": 0.021
   },
   "learning layer, watch point (POD ≥ 0.50 on 2001–2019)": {
    "events": 22,
    "hits": 12,
    "false_alarms": 595,
    "POD": 0.545,
    "FAR": 0.98,
    "CSI": 0.019
   },
   "qd ≥ 2-yr (a priori)": {
    "events": 22,
    "hits": 2,
    "false_alarms": 203,
    "POD": 0.091,
    "FAR": 0.99,
    "CSI": 0.009
   },
   "qd ≥ calibrated": {
    "events": 22,
    "hits": 12,
    "false_alarms": 2544,
    "POD": 0.545,
    "FAR": 0.995,
    "CSI": 0.005
   },
   "qr ≥ 2-yr (a priori)": {
    "events": 22,
    "hits": 2,
    "false_alarms": 208,
    "POD": 0.091,
    "FAR": 0.99,
    "CSI": 0.009
   },
   "qr ≥ calibrated": {
    "events": 22,
    "hits": 12,
    "false_alarms": 1621,
    "POD": 0.545,
    "FAR": 0.993,
    "CSI": 0.007
   },
   "rain1 ≥ 2-yr (a priori)": {
    "events": 22,
    "hits": 1,
    "false_alarms": 240,
    "POD": 0.045,
    "FAR": 0.992,
    "CSI": 0.004
   },
   "rain1 ≥ calibrated": {
    "events": 22,
    "hits": 12,
    "false_alarms": 3025,
    "POD": 0.545,
    "FAR": 0.996,
    "CSI": 0.004
   },
   "rain3 ≥ 2-yr (a priori)": {
    "events": 22,
    "hits": 3,
    "false_alarms": 214,
    "POD": 0.136,
    "FAR": 0.986,
    "CSI": 0.013
   },
   "rain3 ≥ calibrated": {
    "events": 22,
    "hits": 13,
    "false_alarms": 1645,
    "POD": 0.591,
    "FAR": 0.992,
    "CSI": 0.008
   },
   "routed ∪ GloFAS (a priori)": {
    "events": 22,
    "hits": 5,
    "false_alarms": 401,
    "POD": 0.227,
    "FAR": 0.985,
    "CSI": 0.012
   },
   "routed ∪ GloFAS (calibrated)": {
    "events": 22,
    "hits": 15,
    "false_alarms": 1847,
    "POD": 0.682,
    "FAR": 0.99,
    "CSI": 0.008
   },
   "vol3 ≥ 2-yr (a priori)": {
    "events": 22,
    "hits": 3,
    "false_alarms": 212,
    "POD": 0.136,
    "FAR": 0.986,
    "CSI": 0.013
   },
   "vol3 ≥ calibrated": {
    "events": 22,
    "hits": 13,
    "false_alarms": 1354,
    "POD": 0.591,
    "FAR": 0.99,
    "CSI": 0.009
   },
   "wet ≥ 2-yr (a priori)": {
    "events": 22,
    "hits": 2,
    "false_alarms": 215,
    "POD": 0.091,
    "FAR": 0.986,
    "CSI": 0.008
   },
   "wet ≥ calibrated": {
    "events": 22,
    "hits": 13,
    "false_alarms": 2651,
    "POD": 0.591,
    "FAR": 0.995,
    "CSI": 0.005
   }
  },
  "2020-2026 held-out": {
   "glofas ≥ 2-yr (a priori)": {
    "events": 117,
    "hits": 38,
    "false_alarms": 160,
    "POD": 0.325,
    "FAR": 0.8,
    "CSI": 0.137
   },
   "glofas ≥ calibrated": {
    "events": 117,
    "hits": 51,
    "false_alarms": 490,
    "POD": 0.436,
    "FAR": 0.894,
    "CSI": 0.084
   },
   "learning layer (logistic, trained 2001–2019)": {
    "events": 117,
    "hits": 30,
    "false_alarms": 51,
    "POD": 0.256,
    "FAR": 0.622,
    "CSI": 0.179
   },
   "learning layer ∪ GloFAS": {
    "events": 117,
    "hits": 42,
    "false_alarms": 178,
    "POD": 0.359,
    "FAR": 0.805,
    "CSI": 0.142
   },
   "learning layer, watch point (POD ≥ 0.50 on 2001–2019)": {
    "events": 117,
    "hits": 62,
    "false_alarms": 329,
    "POD": 0.53,
    "FAR": 0.837,
    "CSI": 0.139
   },
   "qd ≥ 2-yr (a priori)": {
    "events": 117,
    "hits": 30,
    "false_alarms": 203,
    "POD": 0.256,
    "FAR": 0.846,
    "CSI": 0.094
   },
   "qd ≥ calibrated": {
    "events": 117,
    "hits": 63,
    "false_alarms": 1084,
    "POD": 0.538,
    "FAR": 0.938,
    "CSI": 0.052
   },
   "qr ≥ 2-yr (a priori)": {
    "events": 117,
    "hits": 37,
    "false_alarms": 165,
    "POD": 0.316,
    "FAR": 0.797,
    "CSI": 0.131
   },
   "qr ≥ calibrated": {
    "events": 117,
    "hits": 54,
    "false_alarms": 666,
    "POD": 0.462,
    "FAR": 0.92,
    "CSI": 0.069
   },
   "rain1 ≥ 2-yr (a priori)": {
    "events": 117,
    "hits": 32,
    "false_alarms": 195,
    "POD": 0.274,
    "FAR": 0.841,
    "CSI": 0.103
   },
   "rain1 ≥ calibrated": {
    "events": 117,
    "hits": 64,
    "false_alarms": 1196,
    "POD": 0.547,
    "FAR": 0.936,
    "CSI": 0.049
   },
   "rain3 ≥ 2-yr (a priori)": {
    "events": 117,
    "hits": 37,
    "false_alarms": 174,
    "POD": 0.316,
    "FAR": 0.813,
    "CSI": 0.127
   },
   "rain3 ≥ calibrated": {
    "events": 117,
    "hits": 54,
    "false_alarms": 671,
    "POD": 0.462,
    "FAR": 0.919,
    "CSI": 0.069
   },
   "routed ∪ GloFAS (a priori)": {
    "events": 117,
    "hits": 49,
    "false_alarms": 292,
    "POD": 0.419,
    "FAR": 0.844,
    "CSI": 0.12
   },
   "routed ∪ GloFAS (calibrated)": {
    "events": 117,
    "hits": 70,
    "false_alarms": 752,
    "POD": 0.598,
    "FAR": 0.907,
    "CSI": 0.081
   },
   "vol3 ≥ 2-yr (a priori)": {
    "events": 117,
    "hits": 39,
    "false_alarms": 156,
    "POD": 0.333,
    "FAR": 0.792,
    "CSI": 0.143
   },
   "vol3 ≥ calibrated": {
    "events": 117,
    "hits": 48,
    "false_alarms": 580,
    "POD": 0.41,
    "FAR": 0.918,
    "CSI": 0.069
   },
   "wet ≥ 2-yr (a priori)": {
    "events": 117,
    "hits": 35,
    "false_alarms": 183,
    "POD": 0.299,
    "FAR": 0.813,
    "CSI": 0.117
   },
   "wet ≥ calibrated": {
    "events": 117,
    "hits": 60,
    "false_alarms": 1067,
    "POD": 0.513,
    "FAR": 0.936,
    "CSI": 0.051
   }
  },
  "2001-2026 all": {
   "glofas ≥ 2-yr (a priori)": {
    "events": 139,
    "hits": 43,
    "false_alarms": 412,
    "POD": 0.309,
    "FAR": 0.902,
    "CSI": 0.078
   },
   "glofas ≥ calibrated": {
    "events": 139,
    "hits": 64,
    "false_alarms": 1581,
    "POD": 0.46,
    "FAR": 0.956,
    "CSI": 0.037
   },
   "learning layer (logistic, trained 2001–2019)": {
    "events": 139,
    "hits": 34,
    "false_alarms": 144,
    "POD": 0.245,
    "FAR": 0.8,
    "CSI": 0.12
   },
   "learning layer ∪ GloFAS": {
    "events": 139,
    "hits": 48,
    "false_alarms": 441,
    "POD": 0.345,
    "FAR": 0.9,
    "CSI": 0.083
   },
   "learning layer, watch point (POD ≥ 0.50 on 2001–2019)": {
    "events": 139,
    "hits": 74,
    "false_alarms": 924,
    "POD": 0.532,
    "FAR": 0.924,
    "CSI": 0.07
   },
   "qd ≥ 2-yr (a priori)": {
    "events": 139,
    "hits": 32,
    "false_alarms": 406,
    "POD": 0.23,
    "FAR": 0.912,
    "CSI": 0.059
   },
   "qd ≥ calibrated": {
    "events": 139,
    "hits": 75,
    "false_alarms": 3628,
    "POD": 0.54,
    "FAR": 0.977,
    "CSI": 0.02
   },
   "qr ≥ 2-yr (a priori)": {
    "events": 139,
    "hits": 39,
    "false_alarms": 373,
    "POD": 0.281,
    "FAR": 0.894,
    "CSI": 0.076
   },
   "qr ≥ calibrated": {
    "events": 139,
    "hits": 66,
    "false_alarms": 2287,
    "POD": 0.475,
    "FAR": 0.97,
    "CSI": 0.027
   },
   "rain1 ≥ 2-yr (a priori)": {
    "events": 139,
    "hits": 33,
    "false_alarms": 435,
    "POD": 0.237,
    "FAR": 0.918,
    "CSI": 0.057
   },
   "rain1 ≥ calibrated": {
    "events": 139,
    "hits": 76,
    "false_alarms": 4221,
    "POD": 0.547,
    "FAR": 0.978,
    "CSI": 0.017
   },
   "rain3 ≥ 2-yr (a priori)": {
    "events": 139,
    "hits": 40,
    "false_alarms": 388,
    "POD": 0.288,
    "FAR": 0.9,
    "CSI": 0.076
   },
   "rain3 ≥ calibrated": {
    "events": 139,
    "hits": 67,
    "false_alarms": 2316,
    "POD": 0.482,
    "FAR": 0.97,
    "CSI": 0.027
   },
   "routed ∪ GloFAS (a priori)": {
    "events": 139,
    "hits": 54,
    "false_alarms": 693,
    "POD": 0.388,
    "FAR": 0.92,
    "CSI": 0.065
   },
   "routed ∪ GloFAS (calibrated)": {
    "events": 139,
    "hits": 85,
    "false_alarms": 2598,
    "POD": 0.612,
    "FAR": 0.965,
    "CSI": 0.031
   },
   "vol3 ≥ 2-yr (a priori)": {
    "events": 139,
    "hits": 42,
    "false_alarms": 368,
    "POD": 0.302,
    "FAR": 0.893,
    "CSI": 0.083
   },
   "vol3 ≥ calibrated": {
    "events": 139,
    "hits": 61,
    "false_alarms": 1934,
    "POD": 0.439,
    "FAR": 0.967,
    "CSI": 0.029
   },
   "wet ≥ 2-yr (a priori)": {
    "events": 139,
    "hits": 37,
    "false_alarms": 398,
    "POD": 0.266,
    "FAR": 0.898,
    "CSI": 0.069
   },
   "wet ≥ calibrated": {
    "events": 139,
    "hits": 73,
    "false_alarms": 3718,
    "POD": 0.525,
    "FAR": 0.977,
    "CSI": 0.019
   }
  }
 },
 "pooled_auc": {
  "2001-2019 calibration": {
   "qd": 0.8412,
   "vol3": 0.8875,
   "wet": 0.8411,
   "qr": 0.8792,
   "rain1": 0.8291,
   "rain3": 0.867,
   "glofas": 0.8922,
   "learning layer": 0.9318
  },
  "2020-2026 held-out": {
   "qd": 0.772,
   "vol3": 0.8047,
   "wet": 0.7805,
   "qr": 0.8008,
   "rain1": 0.773,
   "rain3": 0.7977,
   "glofas": 0.8157,
   "learning layer": 0.8471
  },
  "2001-2026 all": {
   "qd": 0.8087,
   "vol3": 0.8378,
   "wet": 0.8071,
   "qr": 0.833,
   "rain1": 0.7973,
   "rain3": 0.8253,
   "glofas": 0.8406,
   "learning layer": 0.8763
  }
 },
 "csi_by_regime": {
  "riverine": {
   "glofas ≥ 2-yr (a priori) | 2001-2019 calibration": 0.02,
   "glofas ≥ 2-yr (a priori) | 2001-2026 all": 0.093,
   "glofas ≥ 2-yr (a priori) | 2020-2026 held-out": 0.168,
   "glofas ≥ calibrated | 2001-2019 calibration": 0.025,
   "glofas ≥ calibrated | 2001-2026 all": 0.065,
   "glofas ≥ calibrated | 2020-2026 held-out": 0.122,
   "learning layer (logistic, trained 2001–2019) | 2001-2019 calibration": 0.028,
   "learning layer (logistic, trained 2001–2019) | 2001-2026 all": 0.116,
   "learning layer (logistic, trained 2001–2019) | 2020-2026 held-out": 0.183,
   "learning layer ∪ GloFAS | 2001-2019 calibration": 0.024,
   "learning layer ∪ GloFAS | 2001-2026 all": 0.096,
   "learning layer ∪ GloFAS | 2020-2026 held-out": 0.168,
   "learning layer, watch point (POD ≥ 0.50 on 2001–2019) | 2001-2019 calibration": 0.02,
   "learning layer, watch point (POD ≥ 0.50 on 2001–2019) | 2001-2026 all": 0.071,
   "learning layer, watch point (POD ≥ 0.50 on 2001–2019) | 2020-2026 held-out": 0.147,
   "qd ≥ 2-yr (a priori) | 2001-2019 calibration": 0.008,
   "qd ≥ 2-yr (a priori) | 2001-2026 all": 0.081,
   "qd ≥ 2-yr (a priori) | 2020-2026 held-out": 0.131,
   "qd ≥ calibrated | 2001-2019 calibration": 0.02,
   "qd ≥ calibrated | 2001-2026 all": 0.064,
   "qd ≥ calibrated | 2020-2026 held-out": 0.133,
   "qr ≥ 2-yr (a priori) | 2001-2019 calibration": 0.007,
   "qr ≥ 2-yr (a priori) | 2001-2026 all": 0.098,
   "qr ≥ 2-yr (a priori) | 2020-2026 held-out": 0.18,
   "qr ≥ calibrated | 2001-2019 calibration": 0.02,
   "qr ≥ calibrated | 2001-2026 all": 0.061,
   "qr ≥ calibrated | 2020-2026 held-out": 0.125,
   "rain1 ≥ 2-yr (a priori) | 2001-2019 calibration": 0.0,
   "rain1 ≥ 2-yr (a priori) | 2001-2026 all": 0.074,
   "rain1 ≥ 2-yr (a priori) | 2020-2026 held-out": 0.138,
   "rain1 ≥ calibrated | 2001-2019 calibration": 0.012,
   "rain1 ≥ calibrated | 2001-2026 all": 0.046,
   "rain1 ≥ calibrated | 2020-2026 held-out": 0.109,
   "rain3 ≥ 2-yr (a priori) | 2001-2019 calibration": 0.013,
   "rain3 ≥ 2-yr (a priori) | 2001-2026 all": 0.093,
   "rain3 ≥ 2-yr (a priori) | 2020-2026 held-out": 0.163,
   "rain3 ≥ calibrated | 2001-2019 calibration": 0.02,
   "rain3 ≥ calibrated | 2001-2026 all": 0.057,
   "rain3 ≥ calibrated | 2020-2026 held-out": 0.122,
   "routed ∪ GloFAS (a priori) | 2001-2019 calibration": 0.014,
   "routed ∪ GloFAS (a priori) | 2001-2026 all": 0.083,
   "routed ∪ GloFAS (a priori) | 2020-2026 held-out": 0.163,
   "routed ∪ GloFAS (calibrated) | 2001-2019 calibration": 0.018,
   "routed ∪ GloFAS (calibrated) | 2001-2026 all": 0.056,
   "routed ∪ GloFAS (calibrated) | 2020-2026 held-out": 0.12,
   "vol3 ≥ 2-yr (a priori) | 2001-2019 calibration": 0.013,
   "vol3 ≥ 2-yr (a priori) | 2001-2026 all": 0.104,
   "vol3 ≥ 2-yr (a priori) | 2020-2026 held-out": 0.192,
   "vol3 ≥ calibrated | 2001-2019 calibration": 0.021,
   "vol3 ≥ calibrated | 2001-2026 all": 0.057,
   "vol3 ≥ calibrated | 2020-2026 held-out": 0.119,
   "wet ≥ 2-yr (a priori) | 2001-2019 calibration": 0.0,
   "wet ≥ 2-yr (a priori) | 2001-2026 all": 0.086,
   "wet ≥ 2-yr (a priori) | 2020-2026 held-out": 0.159,
   "wet ≥ calibrated | 2001-2019 calibration": 0.014,
   "wet ≥ calibrated | 2001-2026 all": 0.047,
   "wet ≥ calibrated | 2020-2026 held-out": 0.105
  },
  "urban_pluvial": {
   "glofas ≥ 2-yr (a priori) | 2001-2019 calibration": 0.014,
   "glofas ≥ 2-yr (a priori) | 2001-2026 all": 0.039,
   "glofas ≥ 2-yr (a priori) | 2020-2026 held-out": 0.062,
   "glofas ≥ calibrated | 2001-2019 calibration": 0.002,
   "glofas ≥ calibrated | 2001-2026 all": 0.011,
   "glofas ≥ calibrated | 2020-2026 held-out": 0.034,
   "learning layer (logistic, trained 2001–2019) | 2001-2019 calibration": 0.143,
   "learning layer (logistic, trained 2001–2019) | 2001-2026 all": 0.152,
   "learning layer (logistic, trained 2001–2019) | 2020-2026 held-out": 0.154,
   "learning layer ∪ GloFAS | 2001-2019 calibration": 0.014,
   "learning layer ∪ GloFAS | 2001-2026 all": 0.045,
   "learning layer ∪ GloFAS | 2020-2026 held-out": 0.074,
   "learning layer, watch point (POD ≥ 0.50 on 2001–2019) | 2001-2019 calibration": 0.018,
   "learning layer, watch point (POD ≥ 0.50 on 2001–2019) | 2001-2026 all": 0.063,
   "learning layer, watch point (POD ≥ 0.50 on 2001–2019) | 2020-2026 held-out": 0.099,
   "qd ≥ 2-yr (a priori) | 2001-2019 calibration": 0.01,
   "qd ≥ 2-yr (a priori) | 2001-2026 all": 0.03,
   "qd ≥ 2-yr (a priori) | 2020-2026 held-out": 0.044,
   "qd ≥ calibrated | 2001-2019 calibration": 0.0,
   "qd ≥ calibrated | 2001-2026 all": 0.006,
   "qd ≥ calibrated | 2020-2026 held-out": 0.02,
   "qr ≥ 2-yr (a priori) | 2001-2019 calibration": 0.012,
   "qr ≥ 2-yr (a priori) | 2001-2026 all": 0.044,
   "qr ≥ 2-yr (a priori) | 2020-2026 held-out": 0.066,
   "qr ≥ calibrated | 2001-2019 calibration": 0.002,
   "qr ≥ calibrated | 2001-2026 all": 0.01,
   "qr ≥ calibrated | 2020-2026 held-out": 0.032,
   "rain1 ≥ 2-yr (a priori) | 2001-2019 calibration": 0.01,
   "rain1 ≥ 2-yr (a priori) | 2001-2026 all": 0.032,
   "rain1 ≥ 2-yr (a priori) | 2020-2026 held-out": 0.049,
   "rain1 ≥ calibrated | 2001-2019 calibration": 0.001,
   "rain1 ≥ calibrated | 2001-2026 all": 0.006,
   "rain1 ≥ calibrated | 2020-2026 held-out": 0.019,
   "rain3 ≥ 2-yr (a priori) | 2001-2019 calibration": 0.012,
   "rain3 ≥ 2-yr (a priori) | 2001-2026 all": 0.049,
   "rain3 ≥ 2-yr (a priori) | 2020-2026 held-out": 0.076,
   "rain3 ≥ calibrated | 2001-2019 calibration": 0.002,
   "rain3 ≥ calibrated | 2001-2026 all": 0.011,
   "rain3 ≥ calibrated | 2020-2026 held-out": 0.032,
   "routed ∪ GloFAS (a priori) | 2001-2019 calibration": 0.007,
   "routed ∪ GloFAS (a priori) | 2001-2026 all": 0.035,
   "routed ∪ GloFAS (a priori) | 2020-2026 held-out": 0.059,
   "routed ∪ GloFAS (calibrated) | 2001-2019 calibration": 0.002,
   "routed ∪ GloFAS (calibrated) | 2001-2026 all": 0.012,
   "routed ∪ GloFAS (calibrated) | 2020-2026 held-out": 0.04,
   "vol3 ≥ 2-yr (a priori) | 2001-2019 calibration": 0.012,
   "vol3 ≥ 2-yr (a priori) | 2001-2026 all": 0.05,
   "vol3 ≥ 2-yr (a priori) | 2020-2026 held-out": 0.077,
   "vol3 ≥ calibrated | 2001-2019 calibration": 0.002,
   "vol3 ≥ calibrated | 2001-2026 all": 0.011,
   "vol3 ≥ calibrated | 2020-2026 held-out": 0.029,
   "wet ≥ 2-yr (a priori) | 2001-2019 calibration": 0.025,
   "wet ≥ 2-yr (a priori) | 2001-2026 all": 0.04,
   "wet ≥ 2-yr (a priori) | 2020-2026 held-out": 0.051,
   "wet ≥ calibrated | 2001-2019 calibration": 0.002,
   "wet ≥ calibrated | 2001-2026 all": 0.007,
   "wet ≥ calibrated | 2020-2026 held-out": 0.022
  }
 },
 "states_meta": {
  "Perlis": {
   "lc": "crop",
   "impervious": 0.05,
   "regime": "riverine",
   "runoff_coeff": 0.495,
   "flood_type": "riverine_monsoon"
  },
  "Kedah": {
   "lc": "crop",
   "impervious": 0.05,
   "regime": "riverine",
   "runoff_coeff": 0.562,
   "flood_type": "riverine_monsoon"
  },
  "Pulau Pinang": {
   "lc": "urban",
   "impervious": 0.35,
   "regime": "urban_pluvial",
   "runoff_coeff": 0.691,
   "flood_type": "urban_pluvial"
  },
  "Perak": {
   "lc": "crop",
   "impervious": 0.05,
   "regime": "riverine",
   "runoff_coeff": 0.527,
   "flood_type": "riverine_monsoon"
  },
  "Selangor": {
   "lc": "urban",
   "impervious": 0.3,
   "regime": "urban_pluvial",
   "runoff_coeff": 0.711,
   "flood_type": "extreme_rainfall_urban_pluvial"
  },
  "Kuala Lumpur": {
   "lc": "urban",
   "impervious": 0.35,
   "regime": "urban_pluvial",
   "runoff_coeff": 0.655,
   "flood_type": "urban_pluvial"
  },
  "Putrajaya": {
   "lc": "urban",
   "impervious": 0.35,
   "regime": "urban_pluvial",
   "runoff_coeff": 0.655,
   "flood_type": "urban_pluvial"
  },
  "Negeri Sembilan": {
   "lc": "crop",
   "impervious": 0.05,
   "regime": "riverine",
   "runoff_coeff": 0.479,
   "flood_type": "riverine_monsoon"
  },
  "Melaka": {
   "lc": "urban",
   "impervious": 0.35,
   "regime": "urban_pluvial",
   "runoff_coeff": 0.666,
   "flood_type": "urban_pluvial"
  },
  "Johor": {
   "lc": "crop",
   "impervious": 0.05,
   "regime": "riverine",
   "runoff_coeff": 0.633,
   "flood_type": "riverine_monsoon"
  },
  "Pahang": {
   "lc": "forest",
   "impervious": 0.05,
   "regime": "riverine",
   "runoff_coeff": 0.564,
   "flood_type": "riverine_monsoon"
  },
  "Terengganu": {
   "lc": "forest",
   "impervious": 0.05,
   "regime": "riverine",
   "runoff_coeff": 0.636,
   "flood_type": "riverine_monsoon"
  },
  "Kelantan": {
   "lc": "forest",
   "impervious": 0.05,
   "regime": "riverine",
   "runoff_coeff": 0.538,
   "flood_type": "riverine_monsoon"
  },
  "Sabah": {
   "lc": "forest",
   "impervious": 0.05,
   "regime": "riverine",
   "runoff_coeff": 0.666,
   "flood_type": "riverine_monsoon"
  },
  "Sarawak": {
   "lc": "forest",
   "impervious": 0.05,
   "regime": "riverine",
   "runoff_coeff": 0.702,
   "flood_type": "riverine_monsoon"
  },
  "Labuan": {
   "lc": "urban",
   "impervious": 0.35,
   "regime": "urban_pluvial",
   "runoff_coeff": 0.813,
   "flood_type": "urban_pluvial"
  }
 },
 "evidence": "observed (GDACS + curated catalogue, 239 rows); reported on 2020–2026 held-out (117 truth episodes)",
 "truth_sources": {
  "pack": "MY",
  "country": "Malaysia",
  "rows": 239,
  "rows_by_source": {
   "curated": 139,
   "GDACS": 100
  },
  "region_rows_2001_2026": 236,
  "national_only_rows": 3,
  "curated_rows": 139,
  "region_rows_held_out_2020_2026": 202,
  "flood_region_days": 903,
  "flood_region_days_train": 118,
  "flood_region_days_test": 785,
  "rows_by_year": {
   "2014": 2,
   "2016": 6,
   "2017": 13,
   "2018": 4,
   "2019": 10,
   "2020": 21,
   "2021": 38,
   "2022": 30,
   "2023": 24,
   "2024": 39,
   "2025": 44,
   "2026": 8
  },
  "evidence": "observed (GDACS + curated catalogue, 239 rows)",
  "gdacs_note": "GDACS = event registry (GloFAS-detected cells, coarse windows); region attribution by centroid is approximate",
  "built": "2026-10-26"
 },
 "engine_points": 268,
 "wall_s": 10.0
}