{
  "region_id": "powergrid_tva",
  "name": "Tennessee Valley",
  "operator": "TVA",
  "slug": "tva",
  "generated_by": "scripts/grid_scoring/score_grid.py",
  "source": {
    "run_csv": "outputs/powergrid_tva/run.csv",
    "run_config": "configs/powergrid_tva.yaml",
    "run_generated_at_utc": "2026-10-12T18:49:27.692521Z",
    "events_file": "scripts/grid_scoring/grid_events.yaml",
    "data": "EIA-930 hourly balancing-authority data, UTC hour-ending stamps"
  },
  "standard": {
    "prediction_window_h": 168,
    "detection_window_h": 48,
    "onset_rule": "Onset is the time the grid operator declared the highest emergency level the event reached, converted to UTC.",
    "article_title": "Too early is the same as wrong",
    "article_url": "https://medium.com/@sheiser1/too-early-is-the-same-as-wrong-1ead2456261a",
    "alert_unit": "episode: consecutive alerting hours count once",
    "non_target_rule": "explained if the episode starts inside an explanatory window declared in the run config, otherwise unexplained"
  },
  "scored_period": {
    "start_utc": "2020-01-08 00:00",
    "end_utc": "2026-04-01 00:00",
    "scored_hours": 54383,
    "years": 6.229,
    "warmup_hours": 168,
    "missing_hours_in_timebase": 218
  },
  "signals": [
    "forecast error",
    "demand vs normal",
    "net generation vs normal"
  ],
  "decision": {
    "method": "grouped_consensus",
    "likelihood_threshold": 0.995,
    "warmth_window_h": 8,
    "groups_required": 2,
    "groups_total": 2,
    "min_persistence_h": 3,
    "groups": [
      {
        "name": "structure",
        "members": [
          "demand vs normal",
          "net generation vs normal"
        ],
        "min_instant_members": 2,
        "min_group_warmth": 0.45
      },
      {
        "name": "residual",
        "members": [
          "forecast error"
        ],
        "min_instant_members": 1,
        "min_group_warmth": 0.5
      }
    ]
  },
  "counts": {
    "events": 1,
    "predicted": 0,
    "detected": 1,
    "missed": 0,
    "alerts": 10,
    "alert_timesteps": 44,
    "target_first": 1,
    "target_repeat": 1,
    "explained": 0,
    "unexplained": 8,
    "non_target": 8
  },
  "rates_per_year": {
    "unexplained": 1.28,
    "non_target": 1.28
  },
  "events": [
    {
      "id": "elliott_dec2022",
      "title": "Winter Storm Elliott",
      "short": "Elliott",
      "when": "Dec 2022",
      "tagline": "EEA 3, first rolling blackouts in TVA's history",
      "note": "",
      "onset_local": "2022-12-23 06:12",
      "local_tz": "America/New_York",
      "onset_utc": "2022-12-23 11:12",
      "onset_basis": "TVA declared EEA 3",
      "source_title": "FERC, NERC and Regional Entities, Inquiry into Bulk-Power System Operations During December 2022 Winter Storm Elliott (Oct 2023), p. 10 and fn. 26",
      "source_url": "https://www.ferc.gov/sites/default/files/2024-02/24_Winter-Storm_Elliot_0207_UPDATE.pdf",
      "window_start_utc": "2022-12-16 11:12",
      "window_end_utc": "2022-12-25 11:12",
      "first_alert_utc": "2022-12-23 19:00",
      "outcome": "DETECTED",
      "lead_h": null,
      "lag_h": 7.8,
      "lead_lag_display": "7.8 h lag",
      "models_hot_at_first_alert": [
        "forecast_error_model"
      ],
      "repeat_alerts_utc": [
        "2022-12-24 09:00"
      ],
      "superseded_config_onset": "2022-12-23 11:00:00"
    }
  ],
  "alerts": [
    {
      "n": 1,
      "start_utc": "2020-04-21 17:00",
      "end_utc": "2020-04-21 22:00",
      "hours": 6,
      "t_start": 2660,
      "t_end": 2665,
      "score_class": "unexplained",
      "matched": null,
      "note": "",
      "models_hot_at_start": [
        "demand_anom_model",
        "forecast_error_model",
        "net_generation_anom_model"
      ]
    },
    {
      "n": 2,
      "start_utc": "2020-12-01 00:00",
      "end_utc": "2020-12-01 02:00",
      "hours": 3,
      "t_start": 7970,
      "t_end": 7972,
      "score_class": "unexplained",
      "matched": null,
      "note": "",
      "models_hot_at_start": [
        "demand_anom_model",
        "forecast_error_model",
        "net_generation_anom_model"
      ]
    },
    {
      "n": 3,
      "start_utc": "2021-11-29 03:00",
      "end_utc": "2021-11-29 10:00",
      "hours": 8,
      "t_start": 16635,
      "t_end": 16642,
      "score_class": "unexplained",
      "matched": null,
      "note": "",
      "models_hot_at_start": [
        "demand_anom_model",
        "forecast_error_model",
        "net_generation_anom_model"
      ]
    },
    {
      "n": 4,
      "start_utc": "2022-06-14 02:00",
      "end_utc": "2022-06-14 05:00",
      "hours": 4,
      "t_start": 21340,
      "t_end": 21343,
      "score_class": "unexplained",
      "matched": null,
      "note": "",
      "models_hot_at_start": [
        "forecast_error_model",
        "net_generation_anom_model"
      ]
    },
    {
      "n": 5,
      "start_utc": "2022-12-23 19:00",
      "end_utc": "2022-12-23 20:00",
      "hours": 2,
      "t_start": 25965,
      "t_end": 25966,
      "score_class": "target_first",
      "matched": "elliott_dec2022",
      "note": "Winter Storm Elliott",
      "models_hot_at_start": [
        "forecast_error_model"
      ]
    },
    {
      "n": 6,
      "start_utc": "2022-12-24 09:00",
      "end_utc": "2022-12-24 10:00",
      "hours": 2,
      "t_start": 25979,
      "t_end": 25980,
      "score_class": "target_repeat",
      "matched": "elliott_dec2022",
      "note": "Winter Storm Elliott",
      "models_hot_at_start": [
        "forecast_error_model",
        "net_generation_anom_model"
      ]
    },
    {
      "n": 7,
      "start_utc": "2023-05-10 02:00",
      "end_utc": "2023-05-10 07:00",
      "hours": 6,
      "t_start": 29260,
      "t_end": 29265,
      "score_class": "unexplained",
      "matched": null,
      "note": "",
      "models_hot_at_start": [
        "forecast_error_model",
        "net_generation_anom_model"
      ]
    },
    {
      "n": 8,
      "start_utc": "2024-01-19 06:00",
      "end_utc": "2024-01-19 08:00",
      "hours": 3,
      "t_start": 35359,
      "t_end": 35361,
      "score_class": "unexplained",
      "matched": null,
      "note": "",
      "models_hot_at_start": [
        "demand_anom_model",
        "net_generation_anom_model"
      ]
    },
    {
      "n": 9,
      "start_utc": "2025-01-07 01:00",
      "end_utc": "2025-01-07 04:00",
      "hours": 4,
      "t_start": 43847,
      "t_end": 43850,
      "score_class": "unexplained",
      "matched": null,
      "note": "",
      "models_hot_at_start": [
        "demand_anom_model",
        "forecast_error_model"
      ]
    },
    {
      "n": 10,
      "start_utc": "2025-12-07 15:00",
      "end_utc": "2025-12-07 20:00",
      "hours": 6,
      "t_start": 51877,
      "t_end": 51882,
      "score_class": "unexplained",
      "matched": null,
      "note": "",
      "models_hot_at_start": [
        "demand_anom_model",
        "forecast_error_model",
        "net_generation_anom_model"
      ]
    }
  ]
}
