{
  "forecast_id": "hu_fcst_20261018_2132",
  "hazard": "hurricane",
  "issued_at": "2026-10-18T21:32:19Z",
  "model_version": "hurricane_ri_v8_3",
  "forecast_horizon_hours": 24,
  "n_active_storms": 3,
  "top_probability": 0.0597,
  "source_artifacts": [
    "/data/live-storms.json"
  ],
  "storms": [
    {
      "storm_id": "EP212026",
      "storm_name": "TRUDY",
      "basin": "EP",
      "lat": 19.3,
      "lon": -106.9,
      "vmax_kt": 85.0,
      "mslp_hpa": 974.0,
      "category": "Category 2",
      "issue_time": "2026-10-18T18: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-18T18:00:00Z",
          "threshold": "30/24",
          "file": "26101818EP2126_ships.txt",
          "whole_percent": {
            "RIOD": 11,
            "RIOL": 1,
            "RIOB": 0,
            "RIOC": 4,
            "DTOP": 0,
            "SDCN": 2
          },
          "printed_percent": {
            "RIOD": "10.7",
            "RIOL": "0.7",
            "RIOB": "0.0",
            "RIOC": "3.8",
            "DTOP": "0.0",
            "SDCN": "1.9"
          },
          "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/26101818EP2126_ships.txt",
        "kind": "raw_aid",
        "used": "DTOP",
        "inputs": {
          "DTOP": 0
        }
      },
      "v8_3": {
        "ri_probability": 0.0076,
        "model_version": "hurricane_ri_v8_3"
      },
      "ri_v9_shadow": {
        "status": "ok",
        "ships_text": "26101818EP2126_ships.txt",
        "probability": 0.0028,
        "source": "v9.1",
        "model_probability": 0.0028,
        "gate_ok": true,
        "gate_missing": [],
        "dtops_pct": 0,
        "riod_pct": 11,
        "cycle": "2026-10-18T18:00:00Z",
        "model_version": "hurricane_ri_v9-ce02551062e7",
        "inputs_present": 49,
        "inputs": {
          "v0": 85.0,
          "dv_past12": -5.0,
          "dv_past24": 0.0,
          "mslp0": 974.0,
          "abs_lat": 19.3,
          "is_atlantic": 0.0,
          "dv24_DSHP": -13.0,
          "dv24_LGEM": -16.0,
          "dv24_IVCN": -31.0,
          "dv24_HCCA": -45.0,
          "dv24_NNIC": -20.0,
          "dv24_AEMI": -31.0,
          "dv24_regional_mean": -36.4,
          "dv24_regional_max": -28.0,
          "dv24_global_mean": -15.5,
          "dv24_spread": 11.310570015823261,
          "frac_ge30": 0.0,
          "ri_RIOD_20_12": -2.3136349291806306,
          "ri_RIOD_25_24": -1.7346010553881064,
          "ri_RIOD_30_24": -2.0907410969337694,
          "ri_RIOD_35_24": -5.293304824724492,
          "ri_RIOD_40_24": -5.293304824724492,
          "ri_RIOD_45_36": -5.293304824724492,
          "ri_RIOL_20_12": -4.59511985013459,
          "ri_RIOL_25_24": -4.59511985013459,
          "ri_RIOL_30_24": -4.59511985013459,
          "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": -2.9444389791664403,
          "ri_RIOC_30_24": -3.1780538303479453,
          "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": -20.0,
          "ofcl_dv12": -5.0
        }
      },
      "ri_v10_shadow": {
        "status": "ok",
        "ships_text": "26101818EP2126_ships.txt",
        "probability": 0.0019,
        "probabilities": {
          "15": 0.005,
          "20": 0.0031,
          "25": 0.0023,
          "30": 0.0019,
          "35": 0.0017,
          "40": 0.0015,
          "45": 0.0013
        },
        "model_probabilities": {
          "15": 0.005,
          "20": 0.0031,
          "25": 0.0023,
          "30": 0.0019,
          "35": 0.0017,
          "40": 0.0015,
          "45": 0.0013
        },
        "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": 11,
        "cycle": "2026-10-18T18:00:00Z",
        "model_version": "hurricane_ri_v10-8a5ba5896731",
        "inputs": {
          "v0": 85.0,
          "dv_past12": -5.0,
          "dv_past24": 0.0,
          "mslp0": 974.0,
          "abs_lat": 19.3,
          "is_atlantic": 0.0,
          "dv24_DSHP": -13.0,
          "dv24_LGEM": -16.0,
          "dv24_IVCN": -31.0,
          "dv24_HCCA": -45.0,
          "dv24_NNIC": -20.0,
          "dv24_AEMI": -31.0,
          "dv24_regional_mean": -36.4,
          "dv24_regional_max": -28.0,
          "dv24_global_mean": -15.5,
          "dv24_spread": 11.310570015823261,
          "frac_ge30": 0.0,
          "ri_RIOD_20_12": -2.3136349291806306,
          "ri_RIOD_25_24": -1.7346010553881064,
          "ri_RIOD_30_24": -2.0907410969337694,
          "ri_RIOD_35_24": -5.293304824724492,
          "ri_RIOD_40_24": -5.293304824724492,
          "ri_RIOD_45_36": -5.293304824724492,
          "ri_RIOL_20_12": -4.59511985013459,
          "ri_RIOL_25_24": -4.59511985013459,
          "ri_RIOL_30_24": -4.59511985013459,
          "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": -2.9444389791664403,
          "ri_RIOC_30_24": -3.1780538303479453,
          "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": -20.0,
          "ofcl_dv12": -5.0
        }
      },
      "ri_v10_2_shadow": {
        "status": "ok",
        "ships_text": "26101818EP2126_ships.txt",
        "probability": 0.0013,
        "probabilities": {
          "15": 0.0046,
          "20": 0.0026,
          "25": 0.0017,
          "30": 0.0013,
          "35": 0.0011,
          "40": 0.0008,
          "45": 0.0006
        },
        "model_probabilities": {
          "15": 0.0046,
          "20": 0.0026,
          "25": 0.0017,
          "30": 0.0013,
          "35": 0.0011,
          "40": 0.0008,
          "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": 11,
        "cycle": "2026-10-18T18:00:00Z",
        "model_version": "hurricane_ri_v10_2-3e9c1b766454",
        "inputs": {
          "v0": 85.0,
          "dv_past12": -5.0,
          "dv_past24": 0.0,
          "mslp0": 974.0,
          "abs_lat": 19.3,
          "is_atlantic": 0.0,
          "dv24_DSHP": -13.0,
          "dv24_LGEM": -16.0,
          "dv24_IVCN": -31.0,
          "dv24_HCCA": -45.0,
          "dv24_NNIC": -20.0,
          "dv24_AEMI": -31.0,
          "dv24_regional_mean": -36.4,
          "dv24_regional_max": -28.0,
          "dv24_global_mean": -15.5,
          "dv24_spread": 11.310570015823261,
          "frac_ge30": 0.0,
          "ri_RIOD_20_12": -2.3136349291806306,
          "ri_RIOD_25_24": -1.7346010553881064,
          "ri_RIOD_30_24": -2.0907410969337694,
          "ri_RIOD_35_24": -5.293304824724492,
          "ri_RIOD_40_24": -5.293304824724492,
          "ri_RIOD_45_36": -5.293304824724492,
          "ri_RIOL_20_12": -4.59511985013459,
          "ri_RIOL_25_24": -4.59511985013459,
          "ri_RIOL_30_24": -4.59511985013459,
          "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": -2.9444389791664403,
          "ri_RIOC_30_24": -3.1780538303479453,
          "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": -20.0,
          "ofcl_dv12": -5.0
        }
      },
      "ri_v10_3_shadow": {
        "status": "ok",
        "ships_text": "26101818EP2126_ships.txt",
        "ir": "ok",
        "ir_images": {
          "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"
          }
        },
        "probability": 0.001,
        "probabilities": {
          "15": 0.0038,
          "20": 0.0022,
          "25": 0.0014,
          "30": 0.001,
          "35": 0.0007,
          "40": 0.0005,
          "45": 0.0003
        },
        "model_probabilities": {
          "15": 0.0038,
          "20": 0.0022,
          "25": 0.0014,
          "30": 0.001,
          "35": 0.0007,
          "40": 0.0005,
          "45": 0.0003
        },
        "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": 11,
        "cycle": "2026-10-18T18:00:00Z",
        "model_version": "hurricane_ri_v10_3-f941a72e2682",
        "inputs": {
          "v0": 85.0,
          "dv_past12": -5.0,
          "dv_past24": 0.0,
          "mslp0": 974.0,
          "abs_lat": 19.3,
          "is_atlantic": 0.0,
          "dv24_DSHP": -13.0,
          "dv24_LGEM": -16.0,
          "dv24_IVCN": -31.0,
          "dv24_HCCA": -45.0,
          "dv24_NNIC": -20.0,
          "dv24_AEMI": -31.0,
          "dv24_regional_mean": -36.4,
          "dv24_regional_max": -28.0,
          "dv24_global_mean": -15.5,
          "dv24_spread": 11.310570015823261,
          "frac_ge30": 0.0,
          "ri_RIOD_20_12": -2.3136349291806306,
          "ri_RIOD_25_24": -1.7346010553881064,
          "ri_RIOD_30_24": -2.0907410969337694,
          "ri_RIOD_35_24": -5.293304824724492,
          "ri_RIOD_40_24": -5.293304824724492,
          "ri_RIOD_45_36": -5.293304824724492,
          "ri_RIOL_20_12": -4.59511985013459,
          "ri_RIOL_25_24": -4.59511985013459,
          "ri_RIOL_30_24": -4.59511985013459,
          "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": -2.9444389791664403,
          "ri_RIOC_30_24": -3.1780538303479453,
          "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": -20.0,
          "ofcl_dv12": -5.0,
          "ir_mean_0_50": 213.5,
          "ir_mean_50_200": 198.75363020329138,
          "ir_mean_200_300": 143.97386569872958,
          "ir_std_50_200": 14.509495468418327,
          "ir_cold_50_200": 0.723136495643756,
          "ir_vcold_0_100": 0.16029143897996356,
          "ir_cold_0_300": 0.35430530348860656,
          "ir_asym_50_200": 4.130201477223471,
          "ir_eye": 1.9780219780219852,
          "ir_max_0_50": 222.0,
          "d_ir_mean_0_50": -1.7888888888888914,
          "d_ir_mean_50_200": -0.2059017323497585,
          "d_ir_cold_50_200": 0.01616428696506267,
          "d_ir_asym_50_200": -1.318784652255709
        },
        "ir_inputs": {
          "ir_mean_0_50": 213.5,
          "ir_mean_50_200": 198.7536,
          "ir_mean_200_300": 143.9739,
          "ir_std_50_200": 14.5095,
          "ir_cold_50_200": 0.7231,
          "ir_vcold_0_100": 0.1603,
          "ir_cold_0_300": 0.3543,
          "ir_asym_50_200": 4.1302,
          "ir_eye": 1.978,
          "ir_max_0_50": 222.0,
          "d_ir_mean_0_50": -1.7889,
          "d_ir_mean_50_200": -0.2059,
          "d_ir_cold_50_200": 0.0162,
          "d_ir_asym_50_200": -1.3188
        }
      },
      "ri_v10_4_shadow": {
        "status": "ok",
        "ships_text": "26101818EP2126_ships.txt",
        "ir": "ok",
        "ir_images": {
          "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"
          }
        },
        "h8": "ok",
        "probability": 0.0008,
        "probabilities": {
          "15": 0.003,
          "20": 0.0016,
          "25": 0.001,
          "30": 0.0008,
          "35": 0.0006,
          "40": 0.0004,
          "45": 0.0003
        },
        "model_probabilities": {
          "15": 0.003,
          "20": 0.0016,
          "25": 0.001,
          "30": 0.0008,
          "35": 0.0006,
          "40": 0.0004,
          "45": 0.0003
        },
        "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": 11,
        "cycle": "2026-10-18T18:00:00Z",
        "model_version": "hurricane_ri_v10_4-9fd8cc8dcc7b",
        "inputs": {
          "v0": 85.0,
          "dv_past12": -5.0,
          "dv_past24": 0.0,
          "mslp0": 974.0,
          "abs_lat": 19.3,
          "is_atlantic": 0.0,
          "dv24_DSHP": -13.0,
          "dv24_LGEM": -16.0,
          "dv24_IVCN": -31.0,
          "dv24_HCCA": -45.0,
          "dv24_NNIC": -20.0,
          "dv24_AEMI": -31.0,
          "dv24_regional_mean": -36.4,
          "dv24_regional_max": -28.0,
          "dv24_global_mean": -15.5,
          "dv24_spread": 11.310570015823261,
          "frac_ge30": 0.0,
          "ri_RIOD_20_12": -2.3136349291806306,
          "ri_RIOD_25_24": -1.7346010553881064,
          "ri_RIOD_30_24": -2.0907410969337694,
          "ri_RIOD_35_24": -5.293304824724492,
          "ri_RIOD_40_24": -5.293304824724492,
          "ri_RIOD_45_36": -5.293304824724492,
          "ri_RIOL_20_12": -4.59511985013459,
          "ri_RIOL_25_24": -4.59511985013459,
          "ri_RIOL_30_24": -4.59511985013459,
          "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": -2.9444389791664403,
          "ri_RIOC_30_24": -3.1780538303479453,
          "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": -20.0,
          "ofcl_dv12": -5.0,
          "ir_mean_0_50": 213.5,
          "ir_mean_50_200": 198.75363020329138,
          "ir_mean_200_300": 143.97386569872958,
          "ir_std_50_200": 14.509495468418327,
          "ir_cold_50_200": 0.723136495643756,
          "ir_vcold_0_100": 0.16029143897996356,
          "ir_cold_0_300": 0.35430530348860656,
          "ir_asym_50_200": 4.130201477223471,
          "ir_eye": 1.9780219780219852,
          "ir_max_0_50": 222.0,
          "d_ir_mean_0_50": -1.7888888888888914,
          "d_ir_mean_50_200": -0.2059017323497585,
          "d_ir_cold_50_200": 0.01616428696506267,
          "d_ir_asym_50_200": -1.318784652255709,
          "h8_core_balanced": 16.203690732574692,
          "h8_core_heating": 18.513513513513512,
          "h8_core_retention": 0.8303830430820827,
          "h8_core_balanced_d6": -1.8344040365551955
        },
        "ir_inputs": {
          "ir_mean_0_50": 213.5,
          "ir_mean_50_200": 198.7536,
          "ir_mean_200_300": 143.9739,
          "ir_std_50_200": 14.5095,
          "ir_cold_50_200": 0.7231,
          "ir_vcold_0_100": 0.1603,
          "ir_cold_0_300": 0.3543,
          "ir_asym_50_200": 4.1302,
          "ir_eye": 1.978,
          "ir_max_0_50": 222.0,
          "d_ir_mean_0_50": -1.7889,
          "d_ir_mean_50_200": -0.2059,
          "d_ir_cold_50_200": 0.0162,
          "d_ir_asym_50_200": -1.3188
        },
        "h8_inputs": {
          "h8_core_balanced": 16.203690732574692,
          "h8_core_heating": 18.513513513513512,
          "h8_core_retention": 0.8303830430820827,
          "h8_core_balanced_d6": -1.8344040365551955
        }
      },
      "ri_source_label": "NOAA DTOPS",
      "tc1": {
        "cycle": "2026-10-18T18:00:00Z",
        "issued_after": "2026-10-18T18:00:00Z",
        "season_state_end": 2025,
        "selection_sha256": "7ec1391e39963d2e94b360212cf70c23c96cc75736fd4a2957527302bfdd08a4",
        "TC1": {
          "12": {
            "lat": 19.81,
            "lon": -107.36,
            "vmax_kt": 71.9,
            "track_weights": {
              "GDMI": 0.503,
              "HMNI": 0.087,
              "HWFI": 0.056,
              "CEMI": 0.053
            },
            "intensity_weights": {
              "HCCA": 0.184,
              "DSHP": 0.128,
              "NNIC": 0.122,
              "NNIB": 0.114
            }
          },
          "24": {
            "lat": 19.85,
            "lon": -107.94,
            "vmax_kt": 53.3,
            "track_weights": {
              "GDMI": 0.529,
              "HMNI": 0.079,
              "HWFI": 0.061,
              "UKXI": 0.06
            },
            "intensity_weights": {
              "HCCA": 0.25,
              "GDMI": 0.151,
              "NNIC": 0.117,
              "IVCN": 0.104
            }
          },
          "36": {
            "lat": 19.9,
            "lon": -108.52,
            "vmax_kt": 41.0,
            "track_weights": {
              "GDMI": 0.565,
              "HCCA": 0.071,
              "HWFI": 0.063,
              "CEMI": 0.061
            },
            "intensity_weights": {
              "HCCA": 0.271,
              "GDMI": 0.199,
              "NNIC": 0.109,
              "IVCN": 0.1
            }
          },
          "48": {
            "lat": 20.33,
            "lon": -109.16,
            "vmax_kt": 34.7,
            "track_weights": {
              "GDMI": 0.543,
              "HCCA": 0.084,
              "HWFI": 0.066,
              "UKXI": 0.058
            },
            "intensity_weights": {
              "HCCA": 0.285,
              "GDMI": 0.213,
              "NNIC": 0.101,
              "IVCN": 0.093
            }
          },
          "60": {
            "lat": 20.91,
            "lon": -109.58,
            "vmax_kt": 31.7,
            "track_weights": {
              "GDMI": 0.507,
              "HCCA": 0.11,
              "HWFI": 0.078,
              "UKXI": 0.06
            },
            "intensity_weights": {
              "HCCA": 0.27,
              "GDMI": 0.237,
              "NNIC": 0.113,
              "IVCN": 0.079
            }
          },
          "72": {
            "lat": 21.48,
            "lon": -109.97,
            "vmax_kt": 28.3,
            "track_weights": {
              "GDMI": 0.476,
              "HCCA": 0.132,
              "UKXI": 0.073,
              "HWFI": 0.073
            },
            "intensity_weights": {
              "GDMI": 0.294,
              "HCCA": 0.244,
              "NNIC": 0.097,
              "HFAI": 0.086
            }
          },
          "96": {
            "lat": 22.37,
            "lon": -110.4,
            "vmax_kt": 20.8,
            "track_weights": {
              "HCCA": 0.373,
              "UKXI": 0.178,
              "TVCN": 0.107,
              "AEMI": 0.091
            },
            "intensity_weights": {
              "HCCA": 0.348,
              "HFAI": 0.139,
              "IVCN": 0.135,
              "HWFI": 0.123
            }
          },
          "120": {
            "lat": 24.18,
            "lon": -110.63,
            "vmax_kt": 21.3,
            "track_weights": {
              "HCCA": 0.489,
              "TVCN": 0.322,
              "CTCI": 0.07,
              "HFBI": 0.069
            },
            "intensity_weights": {
              "IVCN": 0.34,
              "HFAI": 0.28,
              "HFBI": 0.238,
              "CTCI": 0.143
            }
          }
        },
        "TC1+O": {
          "12": {
            "lat": 19.84,
            "lon": -107.38,
            "vmax_kt": 73.2,
            "track_weights": {
              "GDMI": 0.348,
              "OFCL": 0.328,
              "HMNI": 0.06,
              "CEMI": 0.039
            },
            "intensity_weights": {
              "OFCL": 0.189,
              "HCCA": 0.144,
              "DSHP": 0.098,
              "IVCN": 0.093
            }
          },
          "24": {
            "lat": 19.93,
            "lon": -107.97,
            "vmax_kt": 54.3,
            "track_weights": {
              "GDMI": 0.377,
              "OFCL": 0.305,
              "HMNI": 0.056,
              "CEMI": 0.046
            },
            "intensity_weights": {
              "HCCA": 0.219,
              "GDMI": 0.136,
              "OFCL": 0.12,
              "NNIC": 0.093
            }
          },
          "36": {
            "lat": 20.02,
            "lon": -108.59,
            "vmax_kt": 41.4,
            "track_weights": {
              "GDMI": 0.412,
              "OFCL": 0.291,
              "CEMI": 0.051,
              "HWFI": 0.05
            },
            "intensity_weights": {
              "HCCA": 0.251,
              "GDMI": 0.189,
              "NNIC": 0.097,
              "IVCN": 0.095
            }
          },
          "48": {
            "lat": 20.45,
            "lon": -109.22,
            "vmax_kt": 34.8,
            "track_weights": {
              "GDMI": 0.399,
              "OFCL": 0.284,
              "HWFI": 0.055,
              "HCCA": 0.054
            },
            "intensity_weights": {
              "HCCA": 0.253,
              "GDMI": 0.197,
              "OFCL": 0.111,
              "IVCN": 0.084
            }
          },
          "60": {
            "lat": 21.02,
            "lon": -109.61,
            "vmax_kt": 31.0,
            "track_weights": {
              "GDMI": 0.4,
              "OFCL": 0.219,
              "HCCA": 0.081,
              "HWFI": 0.071
            },
            "intensity_weights": {
              "HCCA": 0.235,
              "GDMI": 0.211,
              "OFCL": 0.133,
              "NNIC": 0.094
            }
          },
          "72": {
            "lat": 21.58,
            "lon": -110.01,
            "vmax_kt": 26.5,
            "track_weights": {
              "GDMI": 0.381,
              "OFCL": 0.211,
              "HCCA": 0.099,
              "HWFI": 0.067
            },
            "intensity_weights": {
              "GDMI": 0.232,
              "OFCL": 0.194,
              "HCCA": 0.192,
              "NNIC": 0.077
            }
          },
          "96": {
            "lat": 22.37,
            "lon": -110.4,
            "vmax_kt": 20.8,
            "track_weights": {
              "HCCA": 0.373,
              "UKXI": 0.178,
              "TVCN": 0.107,
              "AEMI": 0.091
            },
            "intensity_weights": {
              "HCCA": 0.348,
              "HFAI": 0.139,
              "IVCN": 0.135,
              "HWFI": 0.123
            }
          },
          "120": {
            "lat": 24.18,
            "lon": -110.63,
            "vmax_kt": 21.3,
            "track_weights": {
              "HCCA": 0.489,
              "TVCN": 0.322,
              "CTCI": 0.07,
              "HFBI": 0.069
            },
            "intensity_weights": {
              "IVCN": 0.34,
              "HFAI": 0.28,
              "HFBI": 0.238,
              "CTCI": 0.143
            }
          }
        },
        "OFCL": {
          "12": {
            "lat": 19.9,
            "lon": -107.4,
            "vmax_kt": 80.0
          },
          "24": {
            "lat": 20.1,
            "lon": -108.0,
            "vmax_kt": 65.0
          },
          "36": {
            "lat": 20.3,
            "lon": -108.7,
            "vmax_kt": 50.0
          },
          "48": {
            "lat": 20.7,
            "lon": -109.3,
            "vmax_kt": 40.0
          },
          "60": {
            "lat": 21.4,
            "lon": -109.7,
            "vmax_kt": 30.0
          },
          "72": {
            "lat": 21.9,
            "lon": -110.2,
            "vmax_kt": 20.0
          }
        },
        "TC2b": {
          "status": "ok",
          "label": "TC2b",
          "base": "TC1",
          "intensity": {
            "12": 71.9,
            "24": 53.3,
            "36": 41.0,
            "48": 34.7,
            "60": 31.7,
            "72": 28.3,
            "96": 20.8,
            "120": 21.3
          },
          "moved_tc1": false,
          "shift_24h_kt": null,
          "bracket_kt": [
            null,
            15.0
          ],
          "v0_kt": 85.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": 73.2,
            "24": 54.3,
            "36": 41.4,
            "48": 34.8,
            "60": 31.0,
            "72": 26.5,
            "96": 20.8,
            "120": 21.3
          },
          "moved_tc1": false,
          "shift_24h_kt": null,
          "bracket_kt": [
            null,
            15.0
          ],
          "v0_kt": 85.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": 13.8,
      "lon": 140.2,
      "vmax_kt": 120.0,
      "mslp_hpa": 942.0,
      "category": "Category 4",
      "issue_time": "2026-10-18T18:00:00",
      "ri_probability": 0.0597,
      "ri_probability_raw": 0.457,
      "model_scores": {
        "gbt_d3": 0.6037,
        "gbt_d4": 0.488,
        "logistic": 0.435,
        "bagged": 0.3014
      },
      "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.057,
        "model_version": "hurricane_ri_v8_2"
      },
      "ri_j1_shadow": {
        "status": "ok",
        "label": "J1",
        "model_version": "hurricane_ri_j1-6ffdec7356c1",
        "probability": 0.1221,
        "model_probability": 0.12208170904738716,
        "inputs": {
          "v82_logit": -0.2074261023599738,
          "abs_lat": 13.8,
          "analysis_dp_12h": 11.0,
          "analysis_dp_24h": 8.0,
          "analysis_dp_6h": -1.0,
          "analysis_dv_12h": -10.0,
          "analysis_dv_24h": -10.0,
          "analysis_dv_6h": 0.0,
          "analysis_lat": 13.8,
          "analysis_lon": 140.2,
          "analysis_mslp_hpa": 942.0,
          "analysis_vmax_kt": 120.0,
          "intensity_frac_mpi": 0.7694783135853729,
          "issue_month_cos": 0.5000000000000001,
          "issue_month_sin": -0.8660254037844386,
          "mpi_deficit": 35.94981415507576,
          "storm_age_h": 102.0,
          "translation_speed_kmh": 22.31451581528663,
          "is_wp": 1.0,
          "is_ni": 0.0,
          "is_sh": 0.0,
          "is_nhc": 0.0,
          "ir_mean_0_50": 211.1590909090909,
          "ir_mean_50_200": 215.35435897435897,
          "ir_mean_200_300": 205.24163139669105,
          "ir_std_50_200": 9.766560897704641,
          "ir_cold_50_200": 0.9507692307692308,
          "ir_vcold_0_100": 0.8988326848249028,
          "ir_cold_0_300": 0.8825037385174108,
          "ir_asym_50_200": 4.192195600207377,
          "ir_eye": 82.51351351351352,
          "ir_max_0_50": 228.0,
          "d_ir_mean_0_50": -7.210139860139861,
          "d_ir_mean_50_200": 0.9621819285535196,
          "d_ir_cold_50_200": -0.0420254166831624,
          "d_ir_asym_50_200": -0.49733731053061003
        },
        "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": [
            13.8,
            140.2
          ],
          "t_minus_6h": [
            13.5,
            141.4
          ]
        },
        "v8_2_model_probability": 0.05696146012179522,
        "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"
    }
  ]
}
