[
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Kedah",
  "lead": 1,
  "p_day1": 0.01,
  "p_lead": 0.01,
  "p_1_3": 0.022,
  "observed": 1,
  "evidence": "Bernama (2026-10-30 13:21 MYT): PPS Bukit Raya: 25 mangsa pukul 8 pagi",
  "source_urls": "https://prn.bernama.com/n9/news/2627682/floods-119-evacuees-remain-at-pps-in-negeri-sembilan-perak-and-kedah",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 1.4,
  "obs_rain_point_max_mm": 4.9,
  "obs_qq2_max": 0.729,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Kedah",
  "lead": 2,
  "p_day1": 0.01,
  "p_lead": 0.012,
  "p_1_3": 0.022,
  "observed": 1,
  "evidence": "Malay Mail (Bernama) (2026-10-31 18:35 MYT): PPS Bukit Raya Pendang masih menempatkan 9 mangsa banjir sehingga ditutup 10 pagi 31/10 | The Star (Bernama) (2026-10-31 18:30 MYT): PPS Pendang ditutup 10 pagi 31/10 (9 mangsa sebelum itu) | Harian Metro (Bernama) (2026-10-31 00:56 MYT): 9 mangsa pagi 31/10",
  "source_urls": "https://www.hmetro.com.my/mutakhir/2026/10/1430186/mangsa-banjir-di-perak-negeri-sembilan-meningkat-sedikit-kedah-kekal https://www.malaymail.com/news/malaysia/2026/10/31/all-relief-centres-closed-in-kedah-negeri-sembilan-as-floods-subside-perak-evacuees-fall-to-25/241463 https://www.thestar.com.my/news/nation/2026/10/31/floods-subside-in-kedah-negri-number-of-evacuees-in-perak-drops",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 4.5,
  "obs_rain_point_max_mm": 8.2,
  "obs_qq2_max": 0.505,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Kedah",
  "lead": 3,
  "p_day1": 0.01,
  "p_lead": 0.0,
  "p_1_3": 0.022,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 10.4,
  "obs_rain_point_max_mm": 15.2,
  "obs_qq2_max": 0.363,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Perak",
  "lead": 1,
  "p_day1": 0.008,
  "p_lead": 0.008,
  "p_1_3": 0.017,
  "observed": 1,
  "evidence": "JKM InfoBencana (direct fetch) (snapshot 2026-10-31 10:14 MYT): PPS SK Titi Serong Kerian aktif 30/10 (23-35 mangsa) | Bernama (2026-10-30 13:21 MYT): Titi Serong: 23 mangsa di PPS",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=0 https://prn.bernama.com/n9/news/2627682/floods-119-evacuees-remain-at-pps-in-negeri-sembilan-perak-and-kedah",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 4.1,
  "obs_rain_point_max_mm": 10.0,
  "obs_qq2_max": 1.019,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Perak",
  "lead": 2,
  "p_day1": 0.008,
  "p_lead": 0.008,
  "p_1_3": 0.017,
  "observed": 1,
  "evidence": "JKM InfoBencana (direct fetch, banjir view b=1) (snapshot 2026-10-31 21:30 MYT): PPS SK Titi Serong Kerian aktif sepanjang 31/10 (34 pagi -> 25 petang -> 20 pada 21:30 MYT) | Malay Mail (Bernama) (2026-10-31 18:35 MYT): SK Titi Serong Kerian 34 -> 25 mangsa pada 31/10 | The Star (Bernama) (2026-10-31 18:30 MYT): 25 mangsa SK Titi Serong | Harian Metro (Bernama) (2026-10-31 00:56 MYT): 34 mangsa pagi 31/10",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1 https://www.hmetro.com.my/mutakhir/2026/10/1430186/mangsa-banjir-di-perak-negeri-sembilan-meningkat-sedikit-kedah-kekal https://www.malaymail.com/news/malaysia/2026/10/31/all-relief-centres-closed-in-kedah-negeri-sembilan-as-floods-subside-perak-evacuees-fall-to-25/241463 https://www.thestar.com.my/news/nation/2026/10/31/floods-subside-in-kedah-negri-number-of-evacuees-in-perak-drops",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 4.7,
  "obs_rain_point_max_mm": 8.1,
  "obs_qq2_max": 0.857,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Perak",
  "lead": 3,
  "p_day1": 0.008,
  "p_lead": 0.0,
  "p_1_3": 0.017,
  "observed": 1,
  "evidence": "Malay Mail (Bernama) (2026-11-01 08:56 MYT): PPS SK Titi Serong Kerian: 18 mangsa banjir pada 8 pagi 1/11",
  "source_urls": "https://www.malaymail.com/news/malaysia/2026/11/01/kerian-flood-evacuees-fall-to-18-as-situation-improves/241478",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 10.4,
  "obs_rain_point_max_mm": 16.7,
  "obs_qq2_max": 0.654,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Kelantan",
  "lead": 1,
  "p_day1": 0.01,
  "p_lead": 0.01,
  "p_1_3": 0.01,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 4.0,
  "obs_rain_point_max_mm": 6.6,
  "obs_qq2_max": 0.722,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Kelantan",
  "lead": 2,
  "p_day1": 0.01,
  "p_lead": 0.0,
  "p_1_3": 0.01,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 4.2,
  "obs_rain_point_max_mm": 10.8,
  "obs_qq2_max": 0.609,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Kelantan",
  "lead": 3,
  "p_day1": 0.01,
  "p_lead": 0.0,
  "p_1_3": 0.01,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 9.4,
  "obs_rain_point_max_mm": 18.0,
  "obs_qq2_max": 0.453,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Perlis",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 0.5,
  "obs_rain_point_max_mm": 0.6,
  "obs_qq2_max": 0.56,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Perlis",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 4.3,
  "obs_rain_point_max_mm": 6.7,
  "obs_qq2_max": 0.44,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Perlis",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 5.4,
  "obs_rain_point_max_mm": 6.9,
  "obs_qq2_max": 0.345,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Selangor",
  "lead": 1,
  "p_day1": 0.001,
  "p_lead": 0.001,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 4.4,
  "obs_rain_point_max_mm": 20.8,
  "obs_qq2_max": 0.604,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Selangor",
  "lead": 2,
  "p_day1": 0.001,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 3.4,
  "obs_rain_point_max_mm": 5.0,
  "obs_qq2_max": 0.557,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Selangor",
  "lead": 3,
  "p_day1": 0.001,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 4.1,
  "obs_rain_point_max_mm": 7.4,
  "obs_qq2_max": 0.36,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Kuala Lumpur",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 1.5,
  "obs_rain_point_max_mm": 1.5,
  "obs_qq2_max": 0.442,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Kuala Lumpur",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 1.5,
  "obs_rain_point_max_mm": 1.5,
  "obs_qq2_max": 0.302,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Kuala Lumpur",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 1.5,
  "obs_rain_point_max_mm": 1.5,
  "obs_qq2_max": 0.183,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Putrajaya",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 3.6,
  "obs_rain_point_max_mm": 3.6,
  "obs_qq2_max": 0.398,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Putrajaya",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 3.1,
  "obs_rain_point_max_mm": 3.1,
  "obs_qq2_max": 0.261,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Putrajaya",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 0.5,
  "obs_rain_point_max_mm": 0.5,
  "obs_qq2_max": 0.192,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Pulau Pinang",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 2.0,
  "obs_rain_point_max_mm": 2.0,
  "obs_qq2_max": 0.494,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Pulau Pinang",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.001,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 5.1,
  "obs_rain_point_max_mm": 5.1,
  "obs_qq2_max": 0.41,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Pulau Pinang",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 12.1,
  "obs_rain_point_max_mm": 12.1,
  "obs_qq2_max": 0.449,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Negeri Sembilan",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 1,
  "evidence": "JKM InfoBencana (direct fetch) (snapshot 2026-10-31 10:14 MYT): PPS SK Undang Johol + DOR Dangi aktif sepanjang 30/10 (71-87 mangsa) | Bernama (2026-10-30 13:21 MYT): Kuala Pilah: 2 PPS dibuka awal pagi 30/10, 71 mangsa | Kosmo (2026-10-30 08:45 MYT): PPS DOR Dangi dibuka 01:00 MYT 30/10 akibat banjir",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=0 https://prn.bernama.com/n9/news/2627682/floods-119-evacuees-remain-at-pps-in-negeri-sembilan-perak-and-kedah https://www.kosmo.com.my/2026/10/30/banjir-di-kuala-pilah-61-mangsa-dipindahkan-ke-dua-pps/",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 8.7,
  "obs_rain_point_max_mm": 15.7,
  "obs_qq2_max": 0.115,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Negeri Sembilan",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 1,
  "evidence": "Malay Mail (Bernama) (2026-10-31 18:35 MYT): 2 PPS Kuala Pilah (87 mangsa) aktif sehingga ditutup 4 petang 31/10 | The Star (Bernama) (2026-10-31 18:30 MYT): 2 PPS Kuala Pilah ditutup 4 petang 31/10 | Harian Metro (Bernama) (2026-10-31 00:56 MYT): 87 mangsa pagi 31/10",
  "source_urls": "https://www.hmetro.com.my/mutakhir/2026/10/1430186/mangsa-banjir-di-perak-negeri-sembilan-meningkat-sedikit-kedah-kekal https://www.malaymail.com/news/malaysia/2026/10/31/all-relief-centres-closed-in-kedah-negeri-sembilan-as-floods-subside-perak-evacuees-fall-to-25/241463 https://www.thestar.com.my/news/nation/2026/10/31/floods-subside-in-kedah-negri-number-of-evacuees-in-perak-drops",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 1.1,
  "obs_rain_point_max_mm": 2.5,
  "obs_qq2_max": 0.23,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Negeri Sembilan",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 0.8,
  "obs_rain_point_max_mm": 1.7,
  "obs_qq2_max": 0.133,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Melaka",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 7.9,
  "obs_rain_point_max_mm": 11.2,
  "obs_qq2_max": 0.372,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Melaka",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 1.8,
  "obs_rain_point_max_mm": 1.8,
  "obs_qq2_max": 0.358,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Melaka",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 0.4,
  "obs_rain_point_max_mm": 0.7,
  "obs_qq2_max": 0.194,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Pahang",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 7.8,
  "obs_rain_point_max_mm": 12.6,
  "obs_qq2_max": 0.401,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Pahang",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 3.9,
  "obs_rain_point_max_mm": 13.2,
  "obs_qq2_max": 0.422,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Pahang",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 4.5,
  "obs_rain_point_max_mm": 8.2,
  "obs_qq2_max": 0.334,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Johor",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 6.0,
  "obs_rain_point_max_mm": 15.1,
  "obs_qq2_max": 0.38,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Johor",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 3.5,
  "obs_rain_point_max_mm": 8.0,
  "obs_qq2_max": 0.406,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Johor",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 2.4,
  "obs_rain_point_max_mm": 6.2,
  "obs_qq2_max": 0.336,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Terengganu",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 6.8,
  "obs_rain_point_max_mm": 13.5,
  "obs_qq2_max": 0.421,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Terengganu",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 5.6,
  "obs_rain_point_max_mm": 9.1,
  "obs_qq2_max": 0.432,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Terengganu",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 9.0,
  "obs_rain_point_max_mm": 13.5,
  "obs_qq2_max": 0.378,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Sabah",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 1,
  "evidence": "JKM InfoBencana (direct fetch) (snapshot 2026-10-31 10:14 MYT): JKM: PPS Banjir Sook dibuka 30/10/2026 (0 mangsa pada 31/10 10:14) — bukti lemah, tiada laporan berita ditemui | JKM InfoBencana (guncel 2026-11-01T15:10:00+08:00): Banjir PPS 2 acik, Sipitang, mangsa 137, acilis 2026-10-30 | JKM InfoBencana (guncel 2026-11-01T15:10:00+08:00): Banjir PPS 1 acik, Sook, mangsa 0, acilis 2026-10-30",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=0 https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 4.4,
  "obs_rain_point_max_mm": 12.8,
  "obs_qq2_max": 0.46,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Sabah",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.001,
  "p_1_3": 0.001,
  "observed": 1,
  "evidence": "JKM InfoBencana (direct fetch, banjir view b=1) (snapshot 2026-10-31 21:30 MYT): JKM: PPS Banjir Sook masih dibuka 31/10 (0 mangsa) — bukti lemah, tiada laporan berita ditemui | JKM InfoBencana (guncel 2026-11-01T15:10:00+08:00): Banjir PPS 2 acik, Sipitang, mangsa 137, acilis 2026-10-30 | JKM InfoBencana (guncel 2026-11-01T15:10:00+08:00): Banjir PPS 1 acik, Sook, mangsa 0, acilis 2026-10-30",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 20.2,
  "obs_rain_point_max_mm": 33.0,
  "obs_qq2_max": 0.431,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Sabah",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 1,
  "evidence": "JKM InfoBencana (direct fetch, banjir view b=1) (snapshot 2026-11-01 15:10 MYT): JKM: 2 PPS banjir Sipitang aktif 1/11 (137 mangsa, 41 keluarga) | The Star (2026-11-01 13:36 MYT): Bomba Sipitang: 24 mangsa Kg Bebangkong Mesapol dipindahkan ~6 pagi 1/11 | Utusan Borneo (2026-11-01 11:04 MYT): 24 mangsa banjir Kg Bebangkong dipindahkan awal pagi 1/11 | JKM InfoBencana (guncel 2026-11-01T15:10:00+08:00): Banjir PPS 2 acik, Sipitang, mangsa 137, acilis 2026-10-30 | JKM InfoBencana (guncel 2026-11-01T15:10:00+08:00): Banjir PPS 1 acik, Sook, mangsa 0, acilis 2026-10-30",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1 https://www.thestar.com.my/news/nation/2026/11/01/24-people-evacuated-as-floods-hit-sipitang-village https://www.utusanborneo.com.my/2026/11/01/24-mangsa-banjir-dipindahkan-ke-dewan-mesapol",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 5.1,
  "obs_rain_point_max_mm": 9.5,
  "obs_qq2_max": 0.431,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Sarawak",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 13.8,
  "obs_rain_point_max_mm": 26.6,
  "obs_qq2_max": 0.283,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Sarawak",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.001,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 23.5,
  "obs_rain_point_max_mm": 52.4,
  "obs_qq2_max": 0.333,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Sarawak",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 17.6,
  "obs_rain_point_max_mm": 34.3,
  "obs_qq2_max": 0.244,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-30",
  "state": "Labuan",
  "lead": 1,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 7.2,
  "obs_rain_point_max_mm": 7.2,
  "obs_qq2_max": null,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-10-31",
  "state": "Labuan",
  "lead": 2,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 48.1,
  "obs_rain_point_max_mm": 48.1,
  "obs_qq2_max": null,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 },
 {
  "issue_date": "2026-10-29",
  "valid_date": "2026-11-01",
  "state": "Labuan",
  "lead": 3,
  "p_day1": 0.0,
  "p_lead": 0.0,
  "p_1_3": 0.001,
  "observed": 0,
  "evidence": "sel raporu yok (JKM ulusal tablo + taranan haberler)",
  "source_urls": "https://infobencanajkmv2.jkm.gov.my/landing/index.php?a=0&b=1",
  "status": "verified",
  "threshold": 0.0171,
  "alarm": 0,
  "obs_rain_mm": 9.9,
  "obs_rain_point_max_mm": 9.9,
  "obs_qq2_max": null,
  "forecast_file": "alert_2026-10-29.csv",
  "checked_at": "2026-11-02T11:25+08:00"
 }
]