{
  "forecast_id": "hu_fcst_20261019_0336",
  "hazard": "hurricane",
  "issued_at": "2026-10-19T03:36:35Z",
  "model_version": "hurricane_ri_v8_3",
  "forecast_horizon_hours": 24,
  "n_active_storms": 3,
  "top_probability": 0.1279,
  "source_artifacts": [
    "/data/live-storms.json"
  ],
  "storms": [
    {
      "storm_id": "EP212026",
      "storm_name": "TRUDY",
      "basin": "EP",
      "lat": 19.6,
      "lon": -107.4,
      "vmax_kt": 75.0,
      "mslp_hpa": 981.0,
      "category": "Category 1",
      "issue_time": "2026-10-19T00:00:00",
      "ri_probability": 0.0,
      "ri_probability_raw": 0.0,
      "model_scores": {
        "noaa_aid_stack": 0.0
      },
      "n_features": 1,
      "model_version": "hurricane_ri_stack_v1-35938d6c09b7",
      "calibration": "none: NOAA's probability as issued",
      "ri_source": "noaa_aid_stack",
      "ri_inputs": {
        "status": "ok",
        "candidate": "A",
        "ships_text": {
          "storm_id": "EP212026",
          "cycle": "2026-10-19T00:00:00Z",
          "threshold": "30/24",
          "file": "26101900EP2126_ships.txt",
          "whole_percent": {
            "RIOD": 0,
            "RIOL": 0,
            "RIOB": 0,
            "RIOC": 0,
            "DTOP": 0,
            "SDCN": 0
          },
          "printed_percent": {
            "RIOD": "0.0",
            "RIOL": "0.3",
            "RIOB": "0.0",
            "RIOC": "0.1",
            "DTOP": "0.0",
            "SDCN": "0.0"
          },
          "rounding": {
            "RIOD": "ships_integer_line",
            "RIOL": "half_up",
            "RIOB": "half_up",
            "RIOC": "half_up",
            "DTOP": "half_up",
            "SDCN": "half_up"
          }
        },
        "url": "https://ftp.nhc.noaa.gov/atcf/stext/26101900EP2126_ships.txt",
        "kind": "raw_aid",
        "used": "DTOP",
        "inputs": {
          "DTOP": 0
        }
      },
      "v8_3": {
        "ri_probability": 0.0029,
        "model_version": "hurricane_ri_v8_3"
      },
      "ri_v9_shadow": {
        "status": "ok",
        "ships_text": "26101900EP2126_ships.txt",
        "probability": 0.0022,
        "source": "v9.1",
        "model_probability": 0.0022,
        "gate_ok": true,
        "gate_missing": [],
        "dtops_pct": 0,
        "riod_pct": 0,
        "cycle": "2026-10-19T00:00:00Z",
        "model_version": "hurricane_ri_v9-ce02551062e7",
        "inputs_present": 49,
        "inputs": {
          "v0": 75.0,
          "dv_past12": -15.0,
          "dv_past24": -10.0,
          "mslp0": 981.0,
          "abs_lat": 19.6,
          "is_atlantic": 0.0,
          "dv24_DSHP": -12.0,
          "dv24_LGEM": -16.0,
          "dv24_IVCN": -30.0,
          "dv24_HCCA": -39.0,
          "dv24_NNIC": -21.0,
          "dv24_AEMI": -26.0,
          "dv24_regional_mean": -34.8,
          "dv24_regional_max": -29.0,
          "dv24_global_mean": -14.5,
          "dv24_spread": 10.432085235793652,
          "frac_ge30": 0.0,
          "ri_RIOD_20_12": -2.4423470353692043,
          "ri_RIOD_25_24": -5.293304824724492,
          "ri_RIOD_30_24": -5.293304824724492,
          "ri_RIOD_35_24": -5.293304824724492,
          "ri_RIOD_40_24": -5.293304824724492,
          "ri_RIOD_45_36": -5.293304824724492,
          "ri_RIOL_20_12": -5.293304824724492,
          "ri_RIOL_25_24": -5.293304824724492,
          "ri_RIOL_30_24": -5.293304824724492,
          "ri_RIOL_35_24": -5.293304824724492,
          "ri_RIOL_40_24": -5.293304824724492,
          "ri_RIOL_45_36": -5.293304824724492,
          "ri_RIOB_20_12": -5.293304824724492,
          "ri_RIOB_25_24": -5.293304824724492,
          "ri_RIOB_30_24": -5.293304824724492,
          "ri_RIOB_35_24": -5.293304824724492,
          "ri_RIOB_40_24": -5.293304824724492,
          "ri_RIOB_45_36": -5.293304824724492,
          "ri_RIOC_20_12": -3.4760986898352733,
          "ri_RIOC_25_24": -5.293304824724492,
          "ri_RIOC_30_24": -5.293304824724492,
          "ri_RIOC_35_24": -5.293304824724492,
          "ri_RIOC_40_24": -5.293304824724492,
          "ri_RIOC_45_36": -5.293304824724492,
          "ri_DTOP_20_12": -5.293304824724492,
          "ri_DTOP_25_24": -5.293304824724492,
          "ri_DTOP_30_24": -5.293304824724492,
          "ri_DTOP_35_24": -5.293304824724492,
          "ri_DTOP_40_24": -5.293304824724492,
          "ri_DTOP_45_36": -5.293304824724492,
          "ofcl_dv24": -30.0,
          "ofcl_dv12": -15.0
        }
      },
      "ri_v10_shadow": {
        "status": "ok",
        "ships_text": "26101900EP2126_ships.txt",
        "probability": 0.0018,
        "probabilities": {
          "15": 0.0046,
          "20": 0.0028,
          "25": 0.0021,
          "30": 0.0018,
          "35": 0.0015,
          "40": 0.0014,
          "45": 0.0012
        },
        "model_probabilities": {
          "15": 0.0046,
          "20": 0.0028,
          "25": 0.0021,
          "30": 0.0018,
          "35": 0.0015,
          "40": 0.0014,
          "45": 0.0012
        },
        "noaa_24h": {
          "25": 0.0,
          "30": 0.0,
          "35": 0.0,
          "40": 0.0
        },
        "source": "v10.1",
        "gate_ok": true,
        "gate_missing": [],
        "dtops_pct": 0,
        "riod_pct": 0,
        "cycle": "2026-10-19T00:00:00Z",
        "model_version": "hurricane_ri_v10-8a5ba5896731",
        "inputs": {
          "v0": 75.0,
          "dv_past12": -15.0,
          "dv_past24": -10.0,
          "mslp0": 981.0,
          "abs_lat": 19.6,
          "is_atlantic": 0.0,
          "dv24_DSHP": -12.0,
          "dv24_LGEM": -16.0,
          "dv24_IVCN": -30.0,
          "dv24_HCCA": -39.0,
          "dv24_NNIC": -21.0,
          "dv24_AEMI": -26.0,
          "dv24_regional_mean": -34.8,
          "dv24_regional_max": -29.0,
          "dv24_global_mean": -14.5,
          "dv24_spread": 10.432085235793652,
          "frac_ge30": 0.0,
          "ri_RIOD_20_12": -2.4423470353692043,
          "ri_RIOD_25_24": -5.293304824724492,
          "ri_RIOD_30_24": -5.293304824724492,
          "ri_RIOD_35_24": -5.293304824724492,
          "ri_RIOD_40_24": -5.293304824724492,
          "ri_RIOD_45_36": -5.293304824724492,
          "ri_RIOL_20_12": -5.293304824724492,
          "ri_RIOL_25_24": -5.293304824724492,
          "ri_RIOL_30_24": -5.293304824724492,
          "ri_RIOL_35_24": -5.293304824724492,
          "ri_RIOL_40_24": -5.293304824724492,
          "ri_RIOL_45_36": -5.293304824724492,
          "ri_RIOB_20_12": -5.293304824724492,
          "ri_RIOB_25_24": -5.293304824724492,
          "ri_RIOB_30_24": -5.293304824724492,
          "ri_RIOB_35_24": -5.293304824724492,
          "ri_RIOB_40_24": -5.293304824724492,
          "ri_RIOB_45_36": -5.293304824724492,
          "ri_RIOC_20_12": -3.4760986898352733,
          "ri_RIOC_25_24": -5.293304824724492,
          "ri_RIOC_30_24": -5.293304824724492,
          "ri_RIOC_35_24": -5.293304824724492,
          "ri_RIOC_40_24": -5.293304824724492,
          "ri_RIOC_45_36": -5.293304824724492,
          "ri_DTOP_20_12": -5.293304824724492,
          "ri_DTOP_25_24": -5.293304824724492,
          "ri_DTOP_30_24": -5.293304824724492,
          "ri_DTOP_35_24": -5.293304824724492,
          "ri_DTOP_40_24": -5.293304824724492,
          "ri_DTOP_45_36": -5.293304824724492,
          "ofcl_dv24": -30.0,
          "ofcl_dv12": -15.0
        }
      },
      "ri_v10_2_shadow": {
        "status": "ok",
        "ships_text": "26101900EP2126_ships.txt",
        "probability": 0.0012,
        "probabilities": {
          "15": 0.0042,
          "20": 0.0023,
          "25": 0.0015,
          "30": 0.0012,
          "35": 0.001,
          "40": 0.0007,
          "45": 0.0006
        },
        "model_probabilities": {
          "15": 0.0042,
          "20": 0.0023,
          "25": 0.0015,
          "30": 0.0012,
          "35": 0.001,
          "40": 0.0007,
          "45": 0.0006
        },
        "noaa_24h": {
          "25": 0.0,
          "30": 0.0,
          "35": 0.0,
          "40": 0.0
        },
        "source": "v10.2",
        "gate_ok": true,
        "gate_missing": [],
        "dtops_pct": 0,
        "riod_pct": 0,
        "cycle": "2026-10-19T00:00:00Z",
        "model_version": "hurricane_ri_v10_2-3e9c1b766454",
        "inputs": {
          "v0": 75.0,
          "dv_past12": -15.0,
          "dv_past24": -10.0,
          "mslp0": 981.0,
          "abs_lat": 19.6,
          "is_atlantic": 0.0,
          "dv24_DSHP": -12.0,
          "dv24_LGEM": -16.0,
          "dv24_IVCN": -30.0,
          "dv24_HCCA": -39.0,
          "dv24_NNIC": -21.0,
          "dv24_AEMI": -26.0,
          "dv24_regional_mean": -34.8,
          "dv24_regional_max": -29.0,
          "dv24_global_mean": -14.5,
          "dv24_spread": 10.432085235793652,
          "frac_ge30": 0.0,
          "ri_RIOD_20_12": -2.4423470353692043,
          "ri_RIOD_25_24": -5.293304824724492,
          "ri_RIOD_30_24": -5.293304824724492,
          "ri_RIOD_35_24": -5.293304824724492,
          "ri_RIOD_40_24": -5.293304824724492,
          "ri_RIOD_45_36": -5.293304824724492,
          "ri_RIOL_20_12": -5.293304824724492,
          "ri_RIOL_25_24": -5.293304824724492,
          "ri_RIOL_30_24": -5.293304824724492,
          "ri_RIOL_35_24": -5.293304824724492,
          "ri_RIOL_40_24": -5.293304824724492,
          "ri_RIOL_45_36": -5.293304824724492,
          "ri_RIOB_20_12": -5.293304824724492,
          "ri_RIOB_25_24": -5.293304824724492,
          "ri_RIOB_30_24": -5.293304824724492,
          "ri_RIOB_35_24": -5.293304824724492,
          "ri_RIOB_40_24": -5.293304824724492,
          "ri_RIOB_45_36": -5.293304824724492,
          "ri_RIOC_20_12": -3.4760986898352733,
          "ri_RIOC_25_24": -5.293304824724492,
          "ri_RIOC_30_24": -5.293304824724492,
          "ri_RIOC_35_24": -5.293304824724492,
          "ri_RIOC_40_24": -5.293304824724492,
          "ri_RIOC_45_36": -5.293304824724492,
          "ri_DTOP_20_12": -5.293304824724492,
          "ri_DTOP_25_24": -5.293304824724492,
          "ri_DTOP_30_24": -5.293304824724492,
          "ri_DTOP_35_24": -5.293304824724492,
          "ri_DTOP_40_24": -5.293304824724492,
          "ri_DTOP_45_36": -5.293304824724492,
          "ofcl_dv24": -30.0,
          "ofcl_dv12": -15.0
        }
      },
      "ri_v10_3_shadow": {
        "status": "ok",
        "ships_text": "26101900EP2126_ships.txt",
        "ir": "ok",
        "ir_images": {
          "p2": {
            "hour": "2026-10-19T02:00Z",
            "key": "GMGSI_LW/2026/10/19/02/GLOBCOMPLIR_v3r0_blend_s202610190200000_e202610190209599_c202610190233537.nc"
          },
          "m4": {
            "hour": "2026-10-18T20:00Z",
            "key": "GMGSI_LW/2026/10/18/20/GLOBCOMPLIR_v3r0_blend_s202610182000000_e202610182009599_c202610182037024.nc"
          }
        },
        "probability": 0.0005,
        "probabilities": {
          "15": 0.0025,
          "20": 0.0013,
          "25": 0.0007,
          "30": 0.0005,
          "35": 0.0004,
          "40": 0.0002,
          "45": 0.0002
        },
        "model_probabilities": {
          "15": 0.0025,
          "20": 0.0013,
          "25": 0.0007,
          "30": 0.0005,
          "35": 0.0004,
          "40": 0.0002,
          "45": 0.0002
        },
        "noaa_24h": {
          "25": 0.0,
          "30": 0.0,
          "35": 0.0,
          "40": 0.0
        },
        "source": "v10.3",
        "gate_ok": true,
        "gate_missing": [],
        "dtops_pct": 0,
        "riod_pct": 0,
        "cycle": "2026-10-19T00:00:00Z",
        "model_version": "hurricane_ri_v10_3-f941a72e2682",
        "inputs": {
          "v0": 75.0,
          "dv_past12": -15.0,
          "dv_past24": -10.0,
          "mslp0": 981.0,
          "abs_lat": 19.6,
          "is_atlantic": 0.0,
          "dv24_DSHP": -12.0,
          "dv24_LGEM": -16.0,
          "dv24_IVCN": -30.0,
          "dv24_HCCA": -39.0,
          "dv24_NNIC": -21.0,
          "dv24_AEMI": -26.0,
          "dv24_regional_mean": -34.8,
          "dv24_regional_max": -29.0,
          "dv24_global_mean": -14.5,
          "dv24_spread": 10.432085235793652,
          "frac_ge30": 0.0,
          "ri_RIOD_20_12": -2.4423470353692043,
          "ri_RIOD_25_24": -5.293304824724492,
          "ri_RIOD_30_24": -5.293304824724492,
          "ri_RIOD_35_24": -5.293304824724492,
          "ri_RIOD_40_24": -5.293304824724492,
          "ri_RIOD_45_36": -5.293304824724492,
          "ri_RIOL_20_12": -5.293304824724492,
          "ri_RIOL_25_24": -5.293304824724492,
          "ri_RIOL_30_24": -5.293304824724492,
          "ri_RIOL_35_24": -5.293304824724492,
          "ri_RIOL_40_24": -5.293304824724492,
          "ri_RIOL_45_36": -5.293304824724492,
          "ri_RIOB_20_12": -5.293304824724492,
          "ri_RIOB_25_24": -5.293304824724492,
          "ri_RIOB_30_24": -5.293304824724492,
          "ri_RIOB_35_24": -5.293304824724492,
          "ri_RIOB_40_24": -5.293304824724492,
          "ri_RIOB_45_36": -5.293304824724492,
          "ri_RIOC_20_12": -3.4760986898352733,
          "ri_RIOC_25_24": -5.293304824724492,
          "ri_RIOC_30_24": -5.293304824724492,
          "ri_RIOC_35_24": -5.293304824724492,
          "ri_RIOC_40_24": -5.293304824724492,
          "ri_RIOC_45_36": -5.293304824724492,
          "ri_DTOP_20_12": -5.293304824724492,
          "ri_DTOP_25_24": -5.293304824724492,
          "ri_DTOP_30_24": -5.293304824724492,
          "ri_DTOP_35_24": -5.293304824724492,
          "ri_DTOP_40_24": -5.293304824724492,
          "ri_DTOP_45_36": -5.293304824724492,
          "ofcl_dv24": -30.0,
          "ofcl_dv12": -15.0,
          "ir_mean_0_50": 137.97142857142856,
          "ir_mean_50_200": 156.30806373732497,
          "ir_mean_200_300": 128.55358435916003,
          "ir_std_50_200": 33.829888408796315,
          "ir_cold_50_200": 0.11733462095605987,
          "ir_vcold_0_100": 0.0,
          "ir_cold_0_300": 0.05248341041624774,
          "ir_asym_50_200": 25.918595006784773,
          "ir_eye": 69.09489051094891,
          "ir_max_0_50": 186.0,
          "d_ir_mean_0_50": -74.6782064650678,
          "d_ir_mean_50_200": -41.38595170669046,
          "d_ir_cold_50_200": -0.6003294717080329,
          "d_ir_asym_50_200": 21.00396170205506
        },
        "ir_inputs": {
          "ir_mean_0_50": 137.9714,
          "ir_mean_50_200": 156.3081,
          "ir_mean_200_300": 128.5536,
          "ir_std_50_200": 33.8299,
          "ir_cold_50_200": 0.1173,
          "ir_vcold_0_100": 0.0,
          "ir_cold_0_300": 0.0525,
          "ir_asym_50_200": 25.9186,
          "ir_eye": 69.0949,
          "ir_max_0_50": 186.0,
          "d_ir_mean_0_50": -74.6782,
          "d_ir_mean_50_200": -41.386,
          "d_ir_cold_50_200": -0.6003,
          "d_ir_asym_50_200": 21.004
        }
      },
      "ri_v10_4_shadow": {
        "status": "ok",
        "ships_text": "26101900EP2126_ships.txt",
        "ir": "ok",
        "ir_images": {
          "p2": {
            "hour": "2026-10-19T02:00Z",
            "key": "GMGSI_LW/2026/10/19/02/GLOBCOMPLIR_v3r0_blend_s202610190200000_e202610190209599_c202610190233537.nc"
          },
          "m4": {
            "hour": "2026-10-18T20:00Z",
            "key": "GMGSI_LW/2026/10/18/20/GLOBCOMPLIR_v3r0_blend_s202610182000000_e202610182009599_c202610182037024.nc"
          }
        },
        "h8": "ok",
        "probability": 0.0003,
        "probabilities": {
          "15": 0.0016,
          "20": 0.0008,
          "25": 0.0005,
          "30": 0.0003,
          "35": 0.0002,
          "40": 0.0001,
          "45": 0.0001
        },
        "model_probabilities": {
          "15": 0.0016,
          "20": 0.0008,
          "25": 0.0005,
          "30": 0.0003,
          "35": 0.0002,
          "40": 0.0001,
          "45": 0.0001
        },
        "noaa_24h": {
          "25": 0.0,
          "30": 0.0,
          "35": 0.0,
          "40": 0.0
        },
        "source": "v10.4",
        "gate_ok": true,
        "gate_missing": [],
        "dtops_pct": 0,
        "riod_pct": 0,
        "cycle": "2026-10-19T00:00:00Z",
        "model_version": "hurricane_ri_v10_4-9fd8cc8dcc7b",
        "inputs": {
          "v0": 75.0,
          "dv_past12": -15.0,
          "dv_past24": -10.0,
          "mslp0": 981.0,
          "abs_lat": 19.6,
          "is_atlantic": 0.0,
          "dv24_DSHP": -12.0,
          "dv24_LGEM": -16.0,
          "dv24_IVCN": -30.0,
          "dv24_HCCA": -39.0,
          "dv24_NNIC": -21.0,
          "dv24_AEMI": -26.0,
          "dv24_regional_mean": -34.8,
          "dv24_regional_max": -29.0,
          "dv24_global_mean": -14.5,
          "dv24_spread": 10.432085235793652,
          "frac_ge30": 0.0,
          "ri_RIOD_20_12": -2.4423470353692043,
          "ri_RIOD_25_24": -5.293304824724492,
          "ri_RIOD_30_24": -5.293304824724492,
          "ri_RIOD_35_24": -5.293304824724492,
          "ri_RIOD_40_24": -5.293304824724492,
          "ri_RIOD_45_36": -5.293304824724492,
          "ri_RIOL_20_12": -5.293304824724492,
          "ri_RIOL_25_24": -5.293304824724492,
          "ri_RIOL_30_24": -5.293304824724492,
          "ri_RIOL_35_24": -5.293304824724492,
          "ri_RIOL_40_24": -5.293304824724492,
          "ri_RIOL_45_36": -5.293304824724492,
          "ri_RIOB_20_12": -5.293304824724492,
          "ri_RIOB_25_24": -5.293304824724492,
          "ri_RIOB_30_24": -5.293304824724492,
          "ri_RIOB_35_24": -5.293304824724492,
          "ri_RIOB_40_24": -5.293304824724492,
          "ri_RIOB_45_36": -5.293304824724492,
          "ri_RIOC_20_12": -3.4760986898352733,
          "ri_RIOC_25_24": -5.293304824724492,
          "ri_RIOC_30_24": -5.293304824724492,
          "ri_RIOC_35_24": -5.293304824724492,
          "ri_RIOC_40_24": -5.293304824724492,
          "ri_RIOC_45_36": -5.293304824724492,
          "ri_DTOP_20_12": -5.293304824724492,
          "ri_DTOP_25_24": -5.293304824724492,
          "ri_DTOP_30_24": -5.293304824724492,
          "ri_DTOP_35_24": -5.293304824724492,
          "ri_DTOP_40_24": -5.293304824724492,
          "ri_DTOP_45_36": -5.293304824724492,
          "ofcl_dv24": -30.0,
          "ofcl_dv12": -15.0,
          "ir_mean_0_50": 137.97142857142856,
          "ir_mean_50_200": 156.30806373732497,
          "ir_mean_200_300": 128.55358435916003,
          "ir_std_50_200": 33.829888408796315,
          "ir_cold_50_200": 0.11733462095605987,
          "ir_vcold_0_100": 0.0,
          "ir_cold_0_300": 0.05248341041624774,
          "ir_asym_50_200": 25.918595006784773,
          "ir_eye": 69.09489051094891,
          "ir_max_0_50": 186.0,
          "d_ir_mean_0_50": -74.6782064650678,
          "d_ir_mean_50_200": -41.38595170669046,
          "d_ir_cold_50_200": -0.6003294717080329,
          "d_ir_asym_50_200": 21.00396170205506,
          "h8_core_balanced": 0.042264891505827906,
          "h8_core_heating": 0.0,
          "h8_core_retention": 0.042264891505827906,
          "h8_core_balanced_d6": -14.75036096836656
        },
        "ir_inputs": {
          "ir_mean_0_50": 137.9714,
          "ir_mean_50_200": 156.3081,
          "ir_mean_200_300": 128.5536,
          "ir_std_50_200": 33.8299,
          "ir_cold_50_200": 0.1173,
          "ir_vcold_0_100": 0.0,
          "ir_cold_0_300": 0.0525,
          "ir_asym_50_200": 25.9186,
          "ir_eye": 69.0949,
          "ir_max_0_50": 186.0,
          "d_ir_mean_0_50": -74.6782,
          "d_ir_mean_50_200": -41.386,
          "d_ir_cold_50_200": -0.6003,
          "d_ir_asym_50_200": 21.004
        },
        "h8_inputs": {
          "h8_core_balanced": 0.042264891505827906,
          "h8_core_heating": 0.0,
          "h8_core_retention": 0.042264891505827906,
          "h8_core_balanced_d6": -14.75036096836656
        }
      },
      "ri_source_label": "NOAA DTOPS",
      "tc1": {
        "cycle": "2026-10-19T00:00:00Z",
        "issued_after": "2026-10-19T00:00:00Z",
        "season_state_end": 2025,
        "selection_sha256": "7ec1391e39963d2e94b360212cf70c23c96cc75736fd4a2957527302bfdd08a4",
        "TC1": {
          "12": {
            "lat": 19.7,
            "lon": -107.98,
            "vmax_kt": 59.8,
            "track_weights": {
              "GDMI": 0.527,
              "HMNI": 0.096,
              "HCCA": 0.065,
              "HWFI": 0.064
            },
            "intensity_weights": {
              "HCCA": 0.186,
              "DSHP": 0.125,
              "NNIC": 0.12,
              "NNIB": 0.114
            }
          },
          "24": {
            "lat": 19.56,
            "lon": -108.56,
            "vmax_kt": 45.6,
            "track_weights": {
              "GDMI": 0.566,
              "HMNI": 0.091,
              "HCCA": 0.081,
              "HWFI": 0.071
            },
            "intensity_weights": {
              "HCCA": 0.247,
              "GDMI": 0.15,
              "NNIC": 0.12,
              "IVCN": 0.104
            }
          },
          "36": {
            "lat": 19.58,
            "lon": -109.26,
            "vmax_kt": 36.4,
            "track_weights": {
              "GDMI": 0.605,
              "HCCA": 0.098,
              "HWFI": 0.076,
              "HMNI": 0.055
            },
            "intensity_weights": {
              "HCCA": 0.272,
              "GDMI": 0.196,
              "NNIC": 0.111,
              "IVCN": 0.1
            }
          },
          "48": {
            "lat": 19.92,
            "lon": -109.91,
            "vmax_kt": 31.4,
            "track_weights": {
              "GDMI": 0.581,
              "HCCA": 0.114,
              "HWFI": 0.076,
              "TVCN": 0.045
            },
            "intensity_weights": {
              "HCCA": 0.284,
              "GDMI": 0.215,
              "NNIC": 0.101,
              "IVCN": 0.093
            }
          },
          "60": {
            "lat": 20.42,
            "lon": -110.46,
            "vmax_kt": 29.8,
            "track_weights": {
              "GDMI": 0.538,
              "HCCA": 0.137,
              "HWFI": 0.089,
              "AEMI": 0.061
            },
            "intensity_weights": {
              "HCCA": 0.271,
              "GDMI": 0.236,
              "NNIC": 0.112,
              "IVCN": 0.079
            }
          },
          "72": {
            "lat": 21.33,
            "lon": -111.07,
            "vmax_kt": 30.9,
            "track_weights": {
              "HCCA": 0.402,
              "TVCN": 0.143,
              "AEMI": 0.109,
              "HWFI": 0.106
            },
            "intensity_weights": {
              "HCCA": 0.33,
              "NNIC": 0.126,
              "IVCN": 0.107,
              "HFAI": 0.105
            }
          },
          "96": {
            "lat": 22.02,
            "lon": -111.38,
            "vmax_kt": 22.5,
            "track_weights": {
              "HCCA": 0.512,
              "TVCN": 0.213,
              "AVNI": 0.123,
              "CTCI": 0.065
            },
            "intensity_weights": {
              "HCCA": 0.348,
              "IVCN": 0.146,
              "HFAI": 0.141,
              "HFBI": 0.12
            }
          },
          "120": {
            "lat": 21.33,
            "lon": -112.16,
            "vmax_kt": 19.6,
            "track_weights": {
              "TVCN": 0.652,
              "CTCI": 0.156,
              "HFAI": 0.153,
              "NVGI": 0.038
            },
            "intensity_weights": {
              "IVCN": 0.461,
              "HFAI": 0.364,
              "CTCI": 0.175
            }
          }
        },
        "TC1+O": {
          "12": {
            "lat": 19.73,
            "lon": -107.96,
            "vmax_kt": 59.7,
            "track_weights": {
              "GDMI": 0.362,
              "OFCL": 0.338,
              "HMNI": 0.065,
              "HCCA": 0.041
            },
            "intensity_weights": {
              "OFCL": 0.187,
              "HCCA": 0.146,
              "DSHP": 0.095,
              "IVCN": 0.093
            }
          },
          "24": {
            "lat": 19.63,
            "lon": -108.55,
            "vmax_kt": 45.2,
            "track_weights": {
              "GDMI": 0.396,
              "OFCL": 0.323,
              "HMNI": 0.065,
              "HCCA": 0.054
            },
            "intensity_weights": {
              "HCCA": 0.217,
              "GDMI": 0.135,
              "OFCL": 0.122,
              "NNIC": 0.095
            }
          },
          "36": {
            "lat": 19.67,
            "lon": -109.28,
            "vmax_kt": 36.5,
            "track_weights": {
              "GDMI": 0.434,
              "OFCL": 0.311,
              "HCCA": 0.068,
              "HWFI": 0.06
            },
            "intensity_weights": {
              "HCCA": 0.251,
              "GDMI": 0.185,
              "NNIC": 0.098,
              "IVCN": 0.094
            }
          },
          "48": {
            "lat": 20.06,
            "lon": -109.88,
            "vmax_kt": 30.7,
            "track_weights": {
              "GDMI": 0.42,
              "OFCL": 0.303,
              "HCCA": 0.078,
              "HWFI": 0.064
            },
            "intensity_weights": {
              "HCCA": 0.251,
              "GDMI": 0.198,
              "OFCL": 0.112,
              "IVCN": 0.083
            }
          },
          "60": {
            "lat": 20.58,
            "lon": -110.36,
            "vmax_kt": 28.7,
            "track_weights": {
              "GDMI": 0.42,
              "OFCL": 0.235,
              "HCCA": 0.103,
              "HWFI": 0.081
            },
            "intensity_weights": {
              "HCCA": 0.234,
              "GDMI": 0.211,
              "OFCL": 0.135,
              "NNIC": 0.093
            }
          },
          "72": {
            "lat": 21.33,
            "lon": -111.07,
            "vmax_kt": 30.9,
            "track_weights": {
              "HCCA": 0.402,
              "TVCN": 0.143,
              "AEMI": 0.109,
              "HWFI": 0.106
            },
            "intensity_weights": {
              "HCCA": 0.33,
              "NNIC": 0.126,
              "IVCN": 0.107,
              "HFAI": 0.105
            }
          },
          "96": {
            "lat": 22.02,
            "lon": -111.38,
            "vmax_kt": 22.5,
            "track_weights": {
              "HCCA": 0.512,
              "TVCN": 0.213,
              "AVNI": 0.123,
              "CTCI": 0.065
            },
            "intensity_weights": {
              "HCCA": 0.348,
              "IVCN": 0.146,
              "HFAI": 0.141,
              "HFBI": 0.12
            }
          },
          "120": {
            "lat": 21.33,
            "lon": -112.16,
            "vmax_kt": 19.6,
            "track_weights": {
              "TVCN": 0.652,
              "CTCI": 0.156,
              "HFAI": 0.153,
              "NVGI": 0.038
            },
            "intensity_weights": {
              "IVCN": 0.461,
              "HFAI": 0.364,
              "CTCI": 0.175
            }
          }
        },
        "OFCL": {
          "12": {
            "lat": 19.8,
            "lon": -107.9,
            "vmax_kt": 60.0
          },
          "24": {
            "lat": 19.8,
            "lon": -108.5,
            "vmax_kt": 45.0
          },
          "36": {
            "lat": 19.9,
            "lon": -109.3,
            "vmax_kt": 40.0
          },
          "48": {
            "lat": 20.4,
            "lon": -109.8,
            "vmax_kt": 30.0
          },
          "60": {
            "lat": 21.1,
            "lon": -110.1,
            "vmax_kt": 25.0
          }
        },
        "TC2b": {
          "status": "ok",
          "label": "TC2b",
          "base": "TC1",
          "intensity": {
            "12": 59.8,
            "24": 45.6,
            "36": 36.4,
            "48": 31.4,
            "60": 29.8,
            "72": 30.9,
            "96": 22.5,
            "120": 19.6
          },
          "moved_tc1": false,
          "shift_24h_kt": null,
          "bracket_kt": [
            null,
            15.0
          ],
          "v0_kt": 75.0,
          "why_unmoved": "the forecast is inside the bracket",
          "curve_from": "ri_v10_4_shadow",
          "curve_model_version": "hurricane_ri_v10_4-9fd8cc8dcc7b"
        },
        "TC2b+O": {
          "status": "ok",
          "label": "TC2b+O",
          "base": "TC1+O",
          "intensity": {
            "12": 59.7,
            "24": 45.2,
            "36": 36.5,
            "48": 30.7,
            "60": 28.7,
            "72": 30.9,
            "96": 22.5,
            "120": 19.6
          },
          "moved_tc1": false,
          "shift_24h_kt": null,
          "bracket_kt": [
            null,
            15.0
          ],
          "v0_kt": 75.0,
          "why_unmoved": "the forecast is inside the bracket",
          "curve_from": "ri_v10_4_shadow",
          "curve_model_version": "hurricane_ri_v10_4-9fd8cc8dcc7b"
        }
      }
    },
    {
      "storm_id": "WP292026",
      "storm_name": "CHAMPI",
      "basin": "WP",
      "lat": 14.0,
      "lon": 139.2,
      "vmax_kt": 135.0,
      "mslp_hpa": 926.0,
      "category": "Category 4",
      "issue_time": "2026-10-19T00:00:00",
      "ri_probability": 0.1279,
      "ri_probability_raw": 0.6247,
      "model_scores": {
        "gbt_d3": 0.3933,
        "gbt_d4": 0.2994,
        "logistic": 0.9342,
        "bagged": 0.872
      },
      "n_features": 17,
      "model_version": "hurricane_ri_v8_3",
      "calibration": "logistic_on_logit_newton",
      "ri_source": "v8.3",
      "ri_inputs": {
        "analysis_model": "BEST",
        "track_source": "ral_bdeck",
        "n_inputs": 17,
        "inputs_missing": [],
        "inputs_before_first_fix": [],
        "noaa_aid_stack": {
          "status": "jtwc_basin: NOAA publishes no RI guidance"
        }
      },
      "ri_v9_shadow": {
        "status": "not an NHC a-deck case"
      },
      "ri_v10_shadow": {
        "status": "not an NHC a-deck case"
      },
      "ri_v10_2_shadow": {
        "status": "not an NHC a-deck case"
      },
      "ri_v10_3_shadow": {
        "status": "not an NHC a-deck case"
      },
      "ri_v10_4_shadow": {
        "status": "not an NHC a-deck case"
      },
      "v8_2": {
        "ri_probability": 0.1227,
        "model_version": "hurricane_ri_v8_2"
      },
      "ri_j1_shadow": {
        "status": "ok",
        "label": "J1",
        "model_version": "hurricane_ri_j1-6ffdec7356c1",
        "probability": 0.0762,
        "model_probability": 0.07615507982073494,
        "inputs": {
          "v82_logit": 0.48321048427600394,
          "abs_lat": 14.0,
          "analysis_dp_12h": -17.0,
          "analysis_dp_24h": -8.0,
          "analysis_dp_6h": -16.0,
          "analysis_dv_12h": 15.0,
          "analysis_dv_24h": 5.0,
          "analysis_dv_6h": 15.0,
          "analysis_lat": 14.0,
          "analysis_lon": 139.2,
          "analysis_mslp_hpa": 926.0,
          "analysis_vmax_kt": 135.0,
          "intensity_frac_mpi": 0.8826424585460665,
          "issue_month_cos": 0.5000000000000001,
          "issue_month_sin": -0.8660254037844386,
          "mpi_deficit": 17.949814155075728,
          "storm_age_h": 108.0,
          "translation_speed_kmh": 18.367630576683535,
          "is_wp": 1.0,
          "is_ni": 0.0,
          "is_sh": 0.0,
          "is_nhc": 0.0,
          "ir_mean_0_50": 202.95419847328245,
          "ir_mean_50_200": 214.0972862263185,
          "ir_mean_200_300": 194.3228527607362,
          "ir_std_50_200": 5.936492523391777,
          "ir_cold_50_200": 0.9959037378392217,
          "ir_vcold_0_100": 0.8346153846153846,
          "ir_cold_0_300": 0.7679028132992327,
          "ir_asym_50_200": 2.8615321632221353,
          "ir_eye": 130.08778625954199,
          "ir_max_0_50": 224.0,
          "d_ir_mean_0_50": -7.967676526717554,
          "d_ir_mean_50_200": -1.3472722952420781,
          "d_ir_cold_50_200": 0.039538234759139534,
          "d_ir_asym_50_200": -1.1361763377099252
        },
        "ir": {
          "p2": {
            "hour": "2026-10-19T02:00Z",
            "key": "GMGSI_LW/2026/10/19/02/GLOBCOMPLIR_v3r0_blend_s202610190200000_e202610190209599_c202610190233537.nc"
          },
          "m4": {
            "hour": "2026-10-18T20:00Z",
            "key": "GMGSI_LW/2026/10/18/20/GLOBCOMPLIR_v3r0_blend_s202610182000000_e202610182009599_c202610182037024.nc"
          }
        },
        "ir_features_read": "14 of 14",
        "positions": {
          "models": [
            "BEST",
            "JTWC"
          ],
          "t": [
            14.0,
            139.2
          ],
          "t_minus_6h": [
            13.8,
            140.2
          ]
        },
        "v8_2_model_probability": 0.12274808774925683,
        "v8_2_model_version": "hurricane_ri_v8_2"
      },
      "ri_source_label": "HazardPulse v8.3"
    },
    {
      "storm_id": "SH012027",
      "storm_name": "WATI",
      "basin": "SH",
      "lat": -18.6,
      "lon": -160.2,
      "vmax_kt": 55.0,
      "mslp_hpa": 992.0,
      "category": "Tropical Storm",
      "issue_time": "2026-10-18T18:00:00",
      "ri_probability": 0.0034,
      "ri_probability_raw": 0.0722,
      "model_scores": {
        "gbt_d3": 0.0228,
        "gbt_d4": 0.0428,
        "logistic": 0.0998,
        "bagged": 0.1235
      },
      "n_features": 17,
      "model_version": "hurricane_ri_v8_3",
      "calibration": "logistic_on_logit_newton",
      "ri_source": "v8.3",
      "ri_inputs": {
        "analysis_model": "BEST",
        "track_source": "ral_bdeck",
        "n_inputs": 17,
        "inputs_missing": [],
        "inputs_before_first_fix": [],
        "noaa_aid_stack": {
          "status": "jtwc_basin: NOAA publishes no RI guidance"
        }
      },
      "ri_v9_shadow": {
        "status": "not an NHC a-deck case"
      },
      "ri_v10_shadow": {
        "status": "not an NHC a-deck case"
      },
      "ri_v10_2_shadow": {
        "status": "not an NHC a-deck case"
      },
      "ri_v10_3_shadow": {
        "status": "not an NHC a-deck case"
      },
      "ri_v10_4_shadow": {
        "status": "not an NHC a-deck case"
      },
      "v8_2": {
        "ri_probability": 0.0035,
        "model_version": "hurricane_ri_v8_2"
      },
      "ri_j1_shadow": {
        "status": "ok",
        "label": "J1",
        "model_version": "hurricane_ri_j1-6ffdec7356c1",
        "probability": 0.0029,
        "model_probability": 0.0028709347673121833,
        "inputs": {
          "v82_logit": -2.5563714534714963,
          "abs_lat": 18.6,
          "analysis_dp_12h": 8.0,
          "analysis_dp_24h": 7.0,
          "analysis_dp_6h": 4.0,
          "analysis_dv_12h": -10.0,
          "analysis_dv_24h": -10.0,
          "analysis_dv_6h": -5.0,
          "analysis_lat": -18.6,
          "analysis_lon": -160.2,
          "analysis_mslp_hpa": 992.0,
          "analysis_vmax_kt": 55.0,
          "intensity_frac_mpi": 1.375,
          "issue_month_cos": 0.5000000000000001,
          "issue_month_sin": -0.8660254037844386,
          "mpi_deficit": -15.0,
          "storm_age_h": 60.0,
          "translation_speed_kmh": 35.913914492542865,
          "is_wp": 0.0,
          "is_ni": 0.0,
          "is_sh": 1.0,
          "is_nhc": 0.0,
          "ir_mean_0_50": 205.82089552238807,
          "ir_mean_50_200": 189.05390966488588,
          "ir_mean_200_300": 167.31766848816028,
          "ir_std_50_200": 35.86156681962224,
          "ir_cold_50_200": 0.6595434677027683,
          "ir_vcold_0_100": 0.04007285974499089,
          "ir_cold_0_300": 0.5093155123531794,
          "ir_asym_50_200": 27.836958698045017,
          "ir_eye": 2.3321299638989217,
          "ir_max_0_50": 212.0,
          "d_ir_mean_0_50": -1.9364574187883932,
          "d_ir_mean_50_200": 7.326861293711147,
          "d_ir_cold_50_200": 0.17928680432665772,
          "d_ir_asym_50_200": -1.7165376207458394
        },
        "ir": {
          "p2": {
            "hour": "2026-10-18T20:00Z",
            "key": "GMGSI_LW/2026/10/18/20/GLOBCOMPLIR_v3r0_blend_s202610182000000_e202610182009599_c202610182037024.nc"
          },
          "m4": {
            "hour": "2026-10-18T14:00Z",
            "key": "GMGSI_LW/2026/10/18/14/GLOBCOMPLIR_v3r0_blend_s202610181400000_e202610181409599_c202610181433418.nc"
          }
        },
        "ir_features_read": "14 of 14",
        "positions": {
          "models": [
            "BEST",
            "JTWC"
          ],
          "t": [
            -18.6,
            -160.2
          ],
          "t_minus_6h": [
            -17.4,
            -161.8
          ]
        },
        "v8_2_model_probability": 0.003456873614906028,
        "v8_2_model_version": "hurricane_ri_v8_2"
      },
      "ri_source_label": "HazardPulse v8.3"
    }
  ]
}
