{
  "about": "A story as a small graph: claims, each with its label, who said it, when, and the rows and data fields that support it. The page is generated from this file by tools/stories-build.mjs; nothing here is new reporting. See stories/grammar.md for the grammar.",
  "id": "less-wind-for-lisbon",
  "title": "Less wind for Lisbon?",
  "standfirst": "Late on Tuesday the press began to report that Storm Charles would pass further south, with less wind for Lisbon. At 07:16 on Wednesday IPMA lowered Lisbon's wind warning from red to orange, with gusts up to 120 km/h still warned from 09:00; the red rain warning stands. This is what IPMA has written, what one of its meteorologists said aloud, what the headlines say, what the models in the data room show, and what IPMA's warnings for Lisbon say at the last read.",
  "state": "developing",
  "incident": "2026-11-10-storm-charles",
  "by": "incident.stories@web-summit.dinis",
  "written_utc": "2026-11-11T02:25Z",
  "updated": "2026-11-11T11:56Z",
  "based_on_read_utc": "2026-11-11T11:26:40Z",
  "warnings_in_force": {
    "about": "The official warnings a story about the storm states first, drawn as the front page draws them: for each kind of weather IPMA's newest message by the time it was sent (cap.json beside this file), saying what IPMA's open-data feed (this file) lists where the two differ; resolved when the page is built and read again in the reader's browser. Never a level of our own.",
    "file": "incidents/2026-11-10-storm-charles/data/weather/warnings.json",
    "list": "lisbon",
    "levels": [
      "red"
    ]
  },
  "verbs": {
    "about": "The edges of this graph. Every edge is a verb with an inverse; none is a generic 'related to'.",
    "supported_by": {
      "inverse": "supports",
      "from": "claim",
      "to": "a timeline row, a field of a data file, a decision edge"
    },
    "said_by": {
      "inverse": "said",
      "from": "claim",
      "to": "the body, outlet or agent whose words it is"
    },
    "derived_from": {
      "inverse": "feeds",
      "from": "claim",
      "to": "claim: a comparison this desk made of other claims; it takes the weakest label among them"
    },
    "qualified_by": {
      "inverse": "qualifies",
      "from": "claim",
      "to": "claim: read the first with the second beside it"
    },
    "tested_by": {
      "inverse": "tests",
      "from": "claim (a hypothesis)",
      "to": "a field of an observation file"
    }
  },
  "sections": [
    {
      "id": "written",
      "title": "What IPMA has written",
      "claims": [
        "c1",
        "c2",
        "c3"
      ]
    },
    {
      "id": "warnings",
      "title": "What IPMA's warnings say",
      "claims": [
        "c4",
        "c5",
        "c6",
        "c20"
      ]
    },
    {
      "id": "aloud",
      "title": "What was said aloud",
      "claims": [
        "c7",
        "c8",
        "c9",
        "c10"
      ]
    },
    {
      "id": "headlines",
      "title": "The headlines after it",
      "claims": [
        "c11",
        "c12",
        "c13",
        "c19",
        "c21"
      ]
    },
    {
      "id": "models",
      "title": "What the models in the data room show",
      "claims": [
        "c14",
        "c15",
        "c16",
        "c17",
        "c18"
      ]
    },
    {
      "id": "reading",
      "title": "Our meteorologist's reading",
      "layer": "hypothesis",
      "claims": [
        "h1",
        "h3",
        "h4",
        "h2",
        "h5",
        "h6",
        "h7",
        "h8"
      ]
    },
    {
      "id": "gap",
      "title": "The gap between the headline and the warnings",
      "claims": [
        "g1",
        "g2"
      ]
    },
    {
      "id": "observed",
      "title": "Against the observations so far",
      "claims": [
        "o1",
        "o2",
        "o3"
      ]
    }
  ],
  "claims": [
    {
      "id": "c1",
      "text": "IPMA named the storm CHARLES on Monday 9 November at 13:17, in communiqué no. 1, and said its path and strength carried \"elevada incerteza\".",
      "label": "fact",
      "said_by": "IPMA, communiqué no. 1",
      "at_utc": "2026-11-09T13:17Z",
      "read_utc": "2026-11-10T16:53Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1109T1317"
        },
        {
          "kind": "edge",
          "id": "ipma-communique-1"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/communiques.json",
          "field": "not_in_feed[issued_utc=2026-11-09T13:17Z].summary_en",
          "note": "No longer in IPMA's feed: kept from the record of the newsroom that read it at the time."
        }
      ]
    },
    {
      "id": "c2",
      "text": "Communiqué no. 2, edited on Tuesday at 17:07, put the centre's most likely path \"entre Sines e o Cabo Carvoeiro\", a stretch of coast that has Lisbon inside it, with the strongest gusts \"no bordo sul da depressão\": 100 to 120 km/h, locally up to 140.",
      "label": "fact",
      "said_by": "IPMA, communiqué no. 2",
      "at_utc": "2026-11-10T17:07Z",
      "read_utc": "2026-11-10T19:01:07Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1110T1707b"
        },
        {
          "kind": "edge",
          "id": "ipma-communique-2"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/communiques.json",
          "field": "items[issued_utc=2026-11-10T17:07Z].text_pt",
          "contains": [
            "a maior probabilidade será o centro da depressão passar entre Sines e o Cabo Carvoeiro",
            "no bordo sul da depressão as rajadas serão da ordem dos 100 a 120 km/h, podendo ser localmente até 140 km/h",
            "elevada incerteza na trajetória e intensidade"
          ]
        }
      ]
    },
    {
      "id": "c3",
      "text": "IPMA has published no communiqué no. 3: at the last read, no. 2 is still the newest text on Charles in its feed.",
      "label": "fact",
      "said_by": "IPMA's communiqués feed",
      "read_utc": "2026-11-11T05:22:49Z",
      "supports": [
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/communiques.json",
          "field": "items[0].title",
          "expect": "Chuva, vento e agitação marítima - Depressão CHARLES - Continente e Madeira - Comunicado nº2"
        },
        {
          "kind": "data",
          "file": "research/weather-sites/rereads.json",
          "field": "rereads[read=2026-11-11T01:29Z].unchanged_at_the_authorities[0].what",
          "expect": "IPMA's communiqué is still no. 2 (valid 10 Nov 17:07 to 11 Nov 23:59)"
        }
      ]
    },
    {
      "id": "c4",
      "text": "IPMA sent the red wind warning for the Lisbon district on Tuesday at 07:18: Wednesday 12:00 to 21:00, \"Rajadas até 120 km/h, podendo atingir 140 km/h nos locais mais expostos\". It stood until Wednesday morning.",
      "label": "fact",
      "said_by": "IPMA, warning (CAP message through MeteoAlarm)",
      "at_utc": "2026-11-10T07:18:40Z",
      "read_utc": "2026-11-11T05:22:49Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1110T0718"
        },
        {
          "kind": "edge",
          "id": "ipma-red-wind"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261110071840.PO-01-1915].description_pt",
          "expect": "Rajadas até 120 km/h, podendo atingir 140 km/h nos locais mais expostos."
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261110071840.PO-01-1915].sent_utc",
          "expect": "2026-11-10T07:18:40+00:00"
        }
      ]
    },
    {
      "id": "c5",
      "text": "At 21:23 on Tuesday IPMA moved Lisbon's red rain warning three hours earlier, to Wednesday 09:00 to 18:00; the same issue added red rain warnings for Beja and Faro, further south.",
      "label": "fact",
      "said_by": "IPMA, warning (CAP message through MeteoAlarm)",
      "at_utc": "2026-11-10T21:23Z",
      "read_utc": "2026-11-11T00:35Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1110T2353"
        },
        {
          "kind": "edge",
          "id": "ipma-red-rain-0900"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261110212300.PO-10-6290].onset_utc",
          "expect": "2026-11-11T09:00:00+00:00"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T00:40Z].official_facts.cap_21_23",
          "expect": "new red rain Beja, Faro 09-18; red rain earlier (09-18) Lisboa, Setúbal"
        }
      ]
    },
    {
      "id": "c6",
      "text": "At 07:16:30 on Wednesday IPMA lowered Lisbon's wind warning from red to orange, and started it three hours earlier: orange, 09:00 to 21:00, \"Rajadas até 120 km/h\". The clause on 140 km/h in the most exposed places is gone. The message replaces the red one of Tuesday 07:18, and was sent 1 hour 44 minutes before the orange begins. The red rain warning is unchanged: 09:00 to 18:00.",
      "label": "fact",
      "said_by": "IPMA, warnings (a CAP message through MeteoAlarm, PO-01-1932)",
      "read_utc": "2026-11-11T07:38:35Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0738"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261111071630.PO-01-1932].event_pt",
          "expect": "Aviso Laranja Vento"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261111071630.PO-01-1932].sent_utc",
          "expect": "2026-11-11T07:16:30+00:00"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261111071630.PO-01-1932].onset_utc",
          "expect": "2026-11-11T09:00:00+00:00"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261111071630.PO-01-1932].expires_utc",
          "expect": "2026-11-11T21:00:00+00:00"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261111071630.PO-01-1932].description_pt",
          "expect": "Rajadas até 120 km/h."
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T07:45Z].lead_time",
          "contains": [
            "sent 1 h 44 min before the new orange begins"
          ]
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261110212300.PO-10-6290].onset_utc",
          "expect": "2026-11-11T09:00:00+00:00"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261110212300.PO-10-6290].expires_utc",
          "expect": "2026-11-11T18:00:00+00:00"
        }
      ],
      "at_utc": "2026-11-11T07:16:30Z"
    },
    {
      "id": "c20",
      "text": "IPMA's two channels disagreed for more than an hour. Its open-data feed still listed the red wind warning for Lisbon at 08:22 and had the orange one at the 08:45 read: it followed the message of 07:16:30 by between 66 and 88 minutes. On Tuesday night the same feed followed a changed warning at least two hours late. The box at the top of this page reads both channels and says when they differ.",
      "label": "fact",
      "said_by": "IPMA's two feeds, as read by incident.meteorologist@web-summit.dinis",
      "at_utc": "2026-11-11T08:45Z",
      "read_utc": "2026-11-11T08:45:09Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0844"
        },
        {
          "kind": "row",
          "id": "s-1111T0738"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/warnings.json",
          "field": "history[read_utc=2026-11-11T08:45:09Z].note",
          "expect": "compared with the read at 2026-11-11T08:22:33Z"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/warnings.json",
          "field": "history[at_utc=2026-11-11T07:16:30Z].event",
          "contains": [
            "IPMA's open data still showed red wind at 07:38"
          ]
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/warnings.json",
          "field": "history[at_utc=between 2026-11-10T23:22:52Z and 23:51:47Z].event",
          "contains": [
            "lagged the CAP messages by at least 2 h"
          ]
        }
      ]
    },
    {
      "id": "c7",
      "text": "The first report we read of a path further south was not IPMA's: at 22:07 on Tuesday Observador's live blog reported the latest runs of the ECMWF model, with an entry between Setúbal and Sines.",
      "label": "evidence",
      "said_by": "Observador, live blog (reporting a model, quoting nobody)",
      "at_utc": "2026-11-10T22:07:49Z",
      "read_utc": "2026-11-11T01:37:07Z",
      "supports": [
        {
          "kind": "data",
          "file": "research/media/first-on-each-fact.json",
          "field": "facts[id=7-track-south].first_by_outlet[rank=1].title",
          "expect": "Modelos já apontam para uma trajetória mais a sul: entre Setúbal e Sines, com impactos no Algarve",
          "url_field": "facts[id=7-track-south].first_by_outlet[rank=1].url"
        },
        {
          "kind": "data",
          "file": "research/media/first-on-each-fact.json",
          "field": "facts[id=7-track-south].quoted[0].attribution_as_printed"
        }
      ]
    },
    {
      "id": "c8",
      "text": "At 22:35 an IPMA meteorologist, Paula Leitão, told Rádio Observador that the depression \"deverá entrar entre a região de Lisboa e o Cabo de São Vicente (Sagres)\".",
      "label": "evidence",
      "voice": true,
      "said_by": "an IPMA meteorologist, by voice, as relayed by Observador's live blog",
      "at_utc": "2026-11-10T22:35:24Z",
      "read_utc": "2026-11-11T00:36Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1110T2235"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T00:40Z].press_quoting_ipma[0].quotes_pt",
          "url_field": "updates[written_utc=2026-11-11T00:40Z].press_quoting_ipma[0].url"
        },
        {
          "kind": "data",
          "file": "research/media/first-on-each-fact.json",
          "field": "facts[id=7-track-south].quoted[2].attribution_as_printed"
        }
      ]
    },
    {
      "id": "c9",
      "text": "On the wind, her words were conditional and kept Lisbon in: \"Isto ainda atinge a zona de Lisboa, mas é provável que, se houver formação de ventos muito, muito fortes, não seja na região de Lisboa, mas um pouco mais a sul\".",
      "label": "evidence",
      "voice": true,
      "said_by": "an IPMA meteorologist, by voice, as relayed by Observador's live blog",
      "at_utc": "2026-11-10T22:35:24Z",
      "read_utc": "2026-11-11T00:36Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1110T2235"
        }
      ]
    },
    {
      "id": "c10",
      "text": "RTP's Antena 1 carried the shift under IPMA's name in its 22:00 bulletin, published at 22:22; the bulletin is audio and was not heard by us, so who spoke is not recorded.",
      "label": "evidence",
      "said_by": "RTP (the title of an audio bulletin)",
      "at_utc": "2026-11-10T22:22:02Z",
      "read_utc": "2026-11-11T01:37:07Z",
      "supports": [
        {
          "kind": "data",
          "file": "research/media/first-on-each-fact.json",
          "field": "facts[id=7-track-south].first_by_outlet[rank=2].title",
          "expect": "22h IPMA depressão mudou a trajetória mais para sul",
          "url_field": "facts[id=7-track-south].first_by_outlet[rank=2].url"
        },
        {
          "kind": "data",
          "file": "research/media/first-on-each-fact.json",
          "field": "facts[id=7-track-south].quoted[1].attribution_as_printed"
        }
      ]
    },
    {
      "id": "c11",
      "text": "By 23:54 the wind was in a headline as a statement: Expresso's \"Depressão Charles muda trajetória para sul, com menos vento em Lisboa e Norte mais resguardado\".",
      "label": "evidence",
      "said_by": "Expresso (headline)",
      "at_utc": "2026-11-10T23:54:37Z",
      "read_utc": "2026-11-11T01:37:07Z",
      "supports": [
        {
          "kind": "data",
          "file": "research/media/first-on-each-fact.json",
          "field": "facts[id=7-track-south].first_by_outlet[rank=3].title",
          "expect": "Depressão Charles muda trajetória para sul, com menos vento em Lisboa e Norte mais resguardado",
          "url_field": "facts[id=7-track-south].first_by_outlet[rank=3].url"
        }
      ]
    },
    {
      "id": "c12",
      "text": "Others followed: Público's live blog (\"Charles passa mais a sul do que o previsto e vento deverá ser menos intenso\"), Observador (\"IPMA admite que Charles entre mais a sul do que o previsto\") and, in a video title, CNN Portugal (\"Tempestade chega a Lisboa com menos intensidade do que o previsto\").",
      "label": "evidence",
      "said_by": "Público, Observador, CNN Portugal (headlines and titles)",
      "at_utc": "2026-11-11T00:29Z",
      "read_utc": "2026-11-11T01:29Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0029"
        },
        {
          "kind": "data",
          "file": "research/weather-sites/rereads.json",
          "field": "rereads[read=2026-11-11T01:29Z].changed_in_the_coverage[who=CNN Portugal, weather section].what",
          "url_field": "rereads[read=2026-11-11T01:29Z].changed_in_the_coverage[who=CNN Portugal, weather section].source"
        },
        {
          "kind": "data",
          "file": "research/media/first-on-each-fact.json",
          "field": "facts[id=7-track-south].notes[1]"
        }
      ]
    },
    {
      "id": "c13",
      "text": "At the reads that found those headlines, IPMA's own channels had not moved: the communiqué was still no. 2 and Lisbon's red warnings stood.",
      "label": "fact",
      "said_by": "IPMA's feeds, as read beside the headlines",
      "read_utc": "2026-11-11T01:29Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0029"
        },
        {
          "kind": "data",
          "file": "research/weather-sites/rereads.json",
          "field": "rereads[read=2026-11-11T01:29Z].observation_for_the_home_page"
        }
      ],
      "qualified_by": [
        "c6"
      ]
    },
    {
      "id": "c19",
      "text": "The line was still running at 03:00 on Wednesday: RTP's radio bulletin is titled \"IPMA: depressão Charles vai atingir mais o sul do país\". The bulletin was not heard by us. At the same hour IPMA's warnings for Lisbon were unchanged and its communiqué was still no. 2.",
      "label": "evidence",
      "said_by": "RTP Antena 1 (the title of an audio bulletin)",
      "at_utc": "2026-11-11T03:00Z",
      "read_utc": "2026-11-11T03:28Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0328"
        }
      ],
      "qualified_by": [
        "c6"
      ]
    },
    {
      "id": "c14",
      "text": "IPMA's own hourly model for Lisbon has moved twice between our reads. On Tuesday evening, under an unchanged stamp, Wednesday's strongest mean wind went from 48.6 km/h at 18:00 to 23.4 km/h at 20:00. At the 08:45 read on Wednesday it was 40 km/h at 14:00, from the south.",
      "label": "evidence",
      "model": true,
      "said_by": "IPMA's automatic hourly forecast for Lisbon (a model's output, not a warning)",
      "at_utc": "2026-11-10T21:18:43Z",
      "read_utc": "2026-11-11T08:45:09Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1110T2118"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "hourly_runs[read_utc=2026-11-10T20:22:38Z].wed_peak.wind_mean_kmh",
          "expect": 48.6
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "hourly_runs[read_utc=2026-11-11T08:22:33Z].wed_peak.wind_mean_kmh",
          "expect": 23.4,
          "note": "The run as last read before it was replaced."
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "hourly.wed_peak.wind_mean_kmh",
          "expect": 40,
          "read_field": "hourly.read_utc"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "hourly.wed_peak.time_utc",
          "expect": "2026-11-11T14:00Z",
          "read_field": "hourly.read_utc"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "hourly.wed_peak.wind_dir",
          "expect": "S",
          "read_field": "hourly.read_utc"
        }
      ]
    },
    {
      "id": "c15",
      "text": "MET Norway's forecast for Lisbon, at its update of 08:21 on Wednesday, has the strongest mean wind at 55.1 km/h at 15:00, from the south-south-west, and the lowest pressure, 988.8 hPa, in the same hour; this block carries no gusts.",
      "label": "evidence",
      "model": true,
      "said_by": "MET Norway, Locationforecast 2.0 (a second model, never merged with IPMA)",
      "at_utc": "2026-11-11T08:21:08Z",
      "read_utc": "2026-11-11T08:45:09Z",
      "supports": [
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.met_no.rows[time_utc=2026-11-11T15:00Z].wind_mean_kmh",
          "expect": 55.1,
          "read_field": "second_models.met_no.read_utc",
          "url_field": "second_models.met_no.source"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.met_no.rows[time_utc=2026-11-11T15:00Z].pressure_hpa",
          "expect": 988.8,
          "read_field": "second_models.met_no.read_utc"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.met_no.rows[time_utc=2026-11-11T15:00Z].wind_from_deg",
          "expect": 199.7,
          "read_field": "second_models.met_no.read_utc"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.met_no.updated_utc",
          "note": "The model's own update time, as it stands at each build; the sentence is pinned to the values, not to this stamp.",
          "read_field": "second_models.met_no.read_utc"
        }
      ]
    },
    {
      "id": "c16",
      "text": "Open-Meteo's forecast for the same point is far lower, and moves a little at most reads: between 09:00 and 21:00 its strongest mean wind is now 18.9 km/h, at 10:00 from the south-south-west, and its strongest gust 50.8 km/h, at 11:00 from the south-south-west. At 14:00 it has 16.7 km/h from the north-east.",
      "label": "evidence",
      "model": true,
      "said_by": "Open-Meteo, best match (a second model, never merged with IPMA)",
      "read_utc": "2026-11-11T10:22:42Z",
      "supports": [
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.open_meteo.rows[time_utc=2026-11-11T10:00Z].wind_mean_kmh",
          "expect": 18.9
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.open_meteo.rows[time_utc=2026-11-11T10:00Z].wind_from_deg",
          "expect": 193
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.open_meteo.rows[time_utc=2026-11-11T11:00Z].gust_kmh",
          "expect": 50.8
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.open_meteo.rows[time_utc=2026-11-11T11:00Z].wind_from_deg",
          "expect": 197
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.open_meteo.rows[time_utc=2026-11-11T14:00Z].wind_mean_kmh",
          "expect": 16.7
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.open_meteo.rows[time_utc=2026-11-11T14:00Z].wind_from_deg",
          "expect": 37
        }
      ]
    },
    {
      "id": "c17",
      "text": "The airport's forecast, written by IPMA for pilots, held through the night and was then lowered. The one issued at 05:00 on Wednesday kept 30 knots gusting 45 (83 km/h) at times to 18:00. The amendment of 10:08 cut that to 20 knots gusting 35 (65 km/h) at times to 16:00, and the forecast issued at 11:00 repeats the cut: at times between 12:00 and 16:00, 20 knots gusting 35 (65 km/h), with a 30% chance of gusts of 55 knots (102 km/h) in thunderstorms in the same hours, and the wind turning west-north-west between 16:00 and 18:00.",
      "label": "fact",
      "said_by": "IPMA, the TAF for Lisbon airport (a point forecast for pilots, not a public warning)",
      "at_utc": "2026-11-11T11:00Z",
      "read_utc": "2026-11-11T11:26:40Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1110T2323"
        },
        {
          "kind": "row",
          "id": "s-1111T1028"
        },
        {
          "kind": "row",
          "id": "s-1111T1128"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "taf.issue_utc",
          "expect": "2026-11-11T11:00Z"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "taf.groups[change=TEMPO&gust_kt=35].gust_kmh",
          "expect": 65
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "taf.groups[change=TEMPO&gust_kt=35].to_utc",
          "expect": "2026-11-11T16:00Z"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "taf.groups[prob=30].gust_kmh",
          "expect": 102
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "taf.groups[prob=30].to_utc",
          "expect": "2026-11-11T16:00Z"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "taf.raw",
          "contains": [
            "TEMPO 1112/1116 14020G35KT",
            "BECMG 1116/1118 29012KT"
          ]
        }
      ]
    },
    {
      "id": "c18",
      "text": "So the three models in the data room do not agree with each other: the strongest mean wind for Lisbon on Wednesday is 40, 55.1 or 19.4 km/h, at 14:00, 15:00 or 10:00, depending on which is read. IPMA's and MET Norway's are now an hour apart on when, and 15 km/h apart on how strong. None of these is a gust at an exposed place, which is what the warning's 120 km/h measures.",
      "label": "evidence",
      "model": true,
      "derived": true,
      "said_by": "this desk, setting three files side by side",
      "read_utc": "2026-11-11T08:45:09Z",
      "derived_from": [
        "c14",
        "c15",
        "c16",
        "c4"
      ],
      "supports": [
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/README.md",
          "note": "The data room's own note: the airport's gusts and the warning's gusts \"are not the same measure\"; second models are kept one block per source, \"never merged with IPMA\"."
        }
      ]
    },
    {
      "id": "h1",
      "text": "Our meteorologist's first hypothesis, written at 00:05 on Wednesday, was that the centre passes very close to Lisbon at about 17:00 to 18:00, more likely just south of the city. At 02:35 the meteorologist re-weighed it: \"just south of Lisbon\" is now held with low confidence (it was medium).",
      "label": "hypothesis",
      "confidence": "low (was medium), for \"just south of Lisbon\"",
      "said_by": "incident.meteorologist@web-summit.dinis (analysis; not IPMA's words)",
      "at_utc": "2026-11-11T02:35Z",
      "read_utc": "2026-11-11T02:22:46Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0229"
        },
        {
          "kind": "row",
          "id": "s-1111T0000"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T02:35Z].hypothesis_just_south.confidence",
          "expect": "low (was medium)"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T00:05Z].hypothesis",
          "expect": "CHARLES's centre passes very close to Lisbon about 17:00-18:00 Wed, more likely just south of it (further south than the Tuesday-morning guidance)"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T02:35Z].supersedes"
        }
      ]
    },
    {
      "id": "h2",
      "text": "Its guidance for a headline changed with it, and held until the warning was lowered (see the last sentence of this section): \"'less wind for Lisbon' is not supported; say the models disagree on which side the centre passes, and IPMA's red warnings for Lisbon stand\".",
      "label": "hypothesis",
      "confidence": "the analysis's own guidance, on low confidence about the side and medium about the timing",
      "said_by": "incident.meteorologist@web-summit.dinis (analysis; not IPMA's words)",
      "at_utc": "2026-11-11T02:35Z",
      "read_utc": "2026-11-11T02:22:46Z",
      "supports": [
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T02:35Z].headline_guidance",
          "expect": "'less wind for Lisbon' is not supported; say the models disagree on which side the centre passes, and IPMA's red warnings for Lisbon stand"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T00:40Z].headline_guidance",
          "note": "The earlier guidance, kept as written."
        }
      ]
    },
    {
      "id": "h3",
      "text": "Why: the inputs moved. MET Norway's run of 01:19 has the wind veering through south and south-west to west, its strongest mean wind at 14:00 to 15:00 and its lowest pressure at 15:00, with no swing to north; the airport forecast also veers through south to west. IPMA's older hourly run and its forecasters' words on radio lean the other way. In the analysis's words: \"the side is unsettled\".",
      "label": "hypothesis",
      "confidence": "low, on which side of Lisbon the centre passes",
      "said_by": "incident.meteorologist@web-summit.dinis (analysis; not IPMA's words)",
      "read_utc": "2026-11-11T02:22:46Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0229"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T02:35Z].inputs_changed.met_no",
          "contains": [
            "no swing to N"
          ]
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T02:35Z].inputs_changed.taf_2300"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T02:35Z].weighing",
          "contains": [
            "the side is unsettled"
          ]
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/forecast.json",
          "field": "second_models.met_no.rows[time_utc=2026-11-11T17:00Z].wind_from_deg",
          "expect": 274.9,
          "read_field": "second_models.met_no.read_utc",
          "note": "The later update of 08:21 on Wednesday still has the wind from the west at 17:00 (274.9 degrees; the run of 01:19 had 283.1)."
        }
      ],
      "at_utc": "2026-11-11T02:35Z"
    },
    {
      "id": "h4",
      "text": "What the re-weighed analysis holds across all its inputs: the centre passes very close to Lisbon between about 15:00 and 18:00 on Wednesday.",
      "label": "hypothesis",
      "confidence": "medium",
      "said_by": "incident.meteorologist@web-summit.dinis (analysis; not IPMA's words)",
      "at_utc": "2026-11-11T02:35Z",
      "read_utc": "2026-11-11T02:22:46Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0229"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T02:35Z].stands",
          "expect": "centre passes very close to Lisbon between ~15:00 and 18:00 (confidence medium)"
        }
      ]
    },
    {
      "id": "g1",
      "text": "Set side by side: the headline said \"menos vento em Lisboa\" on Tuesday night, when the warning in force said gusts up to 120 km/h, and 140 in the most exposed places, from 12:00 to 21:00 on Wednesday, unchanged since Tuesday at 07:18. Some seven hours after the headlines, IPMA lowered the level to orange and dropped the 140; the 120 km/h is still warned, from 09:00.",
      "label": "evidence",
      "derived": true,
      "said_by": "this desk, setting a headline beside a warning",
      "read_utc": "2026-11-11T07:38:35Z",
      "derived_from": [
        "c11",
        "c4",
        "c6"
      ],
      "supports": []
    },
    {
      "id": "g2",
      "text": "What an IPMA meteorologist said aloud sits between the two: an entry further south and the strongest winds, if they form, probably south of Lisbon; and \"isto ainda atinge a zona de Lisboa\". IPMA has put neither sentence in writing.",
      "label": "evidence",
      "derived": true,
      "said_by": "this desk, setting the spoken line beside IPMA's written channels",
      "read_utc": "2026-11-11T02:22:46Z",
      "derived_from": [
        "c8",
        "c9",
        "c3",
        "c6"
      ],
      "supports": []
    },
    {
      "id": "o1",
      "text": "Inside the windows so far (they opened at 09:00 on Wednesday), the airport's five reports from 09:00 to 11:00 have a wind of 17 to 22 km/h, backing from south-south-east to east-south-east, with no gust reported; rain, heavy at 10:30 and 11:00 with visibility down to 2 km; and pressure falling from 1001 to 998 hPa. IPMA's newest station hour is the one labelled 10:00, and it lies inside the windows whether the label is the hour ending or starting: seven stations in and around Lisbon measured between 3.8 and 5.9 mm of rain in it, and the strongest mean wind among them was 18.4 km/h, at Barreiro. No gust has been reported at the airport inside the windows, against gusts up to 120 km/h warned. That is not yet a test of the warnings, which run to 18:00 and 21:00.",
      "label": "fact",
      "said_by": "IPMA's stations and the airport's METAR, as read",
      "read_utc": "2026-11-11T11:26:40Z",
      "supports": [
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/cap.json",
          "field": "lisbon_messages[identifier=2.49.0.0.620.0.PT.261111071630.PO-01-1932].onset_utc",
          "expect": "2026-11-11T09:00:00+00:00"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars[time_utc=2026-11-11T09:00Z].wind_kmh",
          "expect": 20
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars[time_utc=2026-11-11T09:30Z].wind_kmh",
          "expect": 22
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars[time_utc=2026-11-11T11:00Z].wind_kmh",
          "expect": 17
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars[time_utc=2026-11-11T11:00Z].wind_dir",
          "expect": 110
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars[time_utc=2026-11-11T09:00Z].wind_dir",
          "expect": 160
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars[time_utc=2026-11-11T09:00Z].pressure_hpa",
          "expect": 1001
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars[time_utc=2026-11-11T11:00Z].pressure_hpa",
          "expect": 998
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars[time_utc=2026-11-11T11:00Z].raw",
          "contains": [
            "2000 +RA BR"
          ]
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars[time_utc=2026-11-11T10:30Z].raw",
          "contains": [
            "+RA"
          ]
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/stations.json",
          "field": "latest_hour_utc",
          "expect": "2026-11-11T10:00Z"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/lisbon-rain.json",
          "field": "stations[id=7240919].hourly[time_utc=2026-11-11T10:00Z].rain_mm",
          "expect": 3.8
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/lisbon-rain.json",
          "field": "stations[id=6215360].hourly[time_utc=2026-11-11T10:00Z].rain_mm",
          "expect": 5.9
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/lisbon-rain.json",
          "field": "stations[id=1210773].hourly[time_utc=2026-11-11T10:00Z].rain_mm",
          "expect": 5.6
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/lisbon-rain.json",
          "field": "stations[id=1210580].hourly[time_utc=2026-11-11T10:00Z].rain_mm",
          "expect": 5.4
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/lisbon-rain.json",
          "field": "stations[id=1210762].hourly[time_utc=2026-11-11T10:00Z].rain_mm",
          "expect": 4.8
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/lisbon-rain.json",
          "field": "stations[id=1210766].hourly[time_utc=2026-11-11T10:00Z].rain_mm",
          "expect": 4.7
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/lisbon-rain.json",
          "field": "stations[id=6215302].hourly[time_utc=2026-11-11T10:00Z].rain_mm",
          "expect": 4.4
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/stations.json",
          "field": "stations[id=1210766].hourly[time_utc=2026-11-11T10:00Z].wind_mean_kmh",
          "expect": 18.4
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/lisbon-rain.json",
          "field": "hour_label.convention",
          "expect": "not documented"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars[time_utc=2026-11-11T12:00Z]",
          "absent": true,
          "note": "A tripwire: when the airport's 12:00 report arrives, this sentence is behind the data and is retold."
        },
        {
          "kind": "row",
          "id": "s-1111T1028"
        },
        {
          "kind": "row",
          "id": "s-1111T1128"
        }
      ],
      "at_utc": "2026-11-11T10:00Z"
    },
    {
      "id": "o2",
      "text": "So far the strongest gust in the airport's reports we hold is 36 knots (67 km/h), on Tuesday at 11:00, and the data room's list of airport gusts above the gust warned for their hour, kept from 05:00 on Wednesday, is empty.",
      "label": "fact",
      "said_by": "Lisbon airport's METAR (issued by IPMA, read through NOAA's Aviation Weather)",
      "at_utc": "2026-11-10T11:00Z",
      "read_utc": "2026-11-11T09:22:47Z",
      "supports": [
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/gusts-vs-forecast.json",
          "field": "observed_airport_max_gust.kmh",
          "expect": 67
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/gusts-vs-forecast.json",
          "field": "observed_airport_max_gust.time_utc",
          "expect": "2026-11-10T11:00Z"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/changes.json",
          "field": "gusts_above_warned[0]",
          "absent": true,
          "note": "A tripwire: the data room lists here every airport gust from Wed 05:00 above the gust warned for that hour. Empty at this read."
        }
      ]
    },
    {
      "id": "o3",
      "text": "The meteorologist has written down in advance what Wednesday's observations at the airport would show either way: \"LPPT veer through SW to W with strongest S gusts before the pressure minimum = centre passed north; back through E to N = passed south\".",
      "label": "hypothesis",
      "confidence": "a test set in advance, not a result",
      "said_by": "incident.meteorologist@web-summit.dinis (analysis; not IPMA's words)",
      "at_utc": "2026-11-11T02:35Z",
      "read_utc": "2026-11-11T02:22:46Z",
      "supports": [
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T02:35Z].test_on_wednesday",
          "expect": "LPPT veer through SW to W with strongest S gusts before the pressure minimum = centre passed north; back through E to N = passed south"
        }
      ],
      "tested_by": [
        {
          "file": "incidents/2026-11-10-storm-charles/data/weather/airport.json",
          "field": "metars"
        },
        {
          "file": "incidents/2026-11-10-storm-charles/data/weather/stations.json",
          "field": "stations"
        }
      ]
    },
    {
      "id": "h5",
      "text": "Our meteorologist's reading of the change, written at 07:45: it is consistent with what IPMA's forecasters said on radio at 22:35 (the worst further south); IPMA now judges Lisbon's gusts at up to 120 km/h, not 140. In the analysis's words: \"Not a 'storm is over': orange means dangerous weather; red rain still stands 09:00-18:00.\" Its guidance for a headline is now: \"IPMA lowers Lisbon's wind warning to orange (gusts to 120 km/h, 09:00-21:00); the red rain warning (09:00-18:00) stands\".",
      "label": "hypothesis",
      "confidence": "an analysis of a fact; which side of Lisbon the centre passes is still unsettled in it",
      "said_by": "incident.meteorologist@web-summit.dinis (analysis; not IPMA's words)",
      "at_utc": "2026-11-11T07:45Z",
      "read_utc": "2026-11-11T07:45Z",
      "supports": [
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T07:45Z].analysis",
          "contains": [
            "Not a 'storm is over': orange means dangerous weather; red rain still stands 09:00-18:00."
          ]
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T07:45Z].headline_guidance",
          "expect": "IPMA lowers Lisbon's wind warning to orange (gusts to 120 km/h, 09:00-21:00); the red rain warning (09:00-18:00) stands"
        }
      ]
    },
    {
      "id": "c21",
      "text": "After the warning was lowered the press reported it, and attributed more to IPMA than IPMA has written. Titles read at 09:39: TSF, \"Previsões do IPMA melhoram: apenas Faro está sob aviso vermelho para vento\"; RTP, \"Depressão Charles divide-se em dois e enfraquece, mas a chuva vai manter-se forte\". Every outlet read keeps the red rain, and the levels they give match IPMA's messages of 07:16:30. That the storm \"splits in two and weakens\" is the press reporting IPMA's spoken word: IPMA has published no communiqué after no. 2 and no new message for Lisbon since 07:16.",
      "label": "evidence",
      "said_by": "TSF and RTP (titles), as read by incident.weatherwatch@; not read at IPMA",
      "at_utc": "2026-11-11T09:39Z",
      "read_utc": "2026-11-11T09:39Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0939"
        },
        {
          "kind": "row",
          "id": "s-1111T0824"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T09:50Z].ipma_written",
          "contains": [
            "nothing: no communiqué no. 3"
          ]
        }
      ]
    },
    {
      "id": "h6",
      "text": "At 09:25 the meteorologist read the models again, and this supersedes the reading of 02:35: IPMA's hourly run of 07:56 and MET Norway's of 09:19 now both turn the wind through south and south-west to west, so the centre is read as passing close to Lisbon and just north of it between about 13:00 and 15:00, earlier than the 15:00 to 18:00 held before. On a drop in the wind around midday in both models, the analysis's words are: \"a lull ~12:00-13:00 precedes the strongest wind; not the end\". This is our analysis and not a forecast; IPMA's warnings are what stand: red rain to 18:00, orange wind to 21:00.",
      "label": "hypothesis",
      "confidence": "medium, on which side of Lisbon the centre passes",
      "said_by": "incident.meteorologist@web-summit.dinis (analysis; not IPMA's words)",
      "at_utc": "2026-11-11T09:25Z",
      "read_utc": "2026-11-11T09:22:47Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0922"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T09:25Z].side.view",
          "expect": "just north"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T09:25Z].side.confidence",
          "expect": "medium"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T09:25Z].lull_note",
          "expect": "a lull ~12:00-13:00 precedes the strongest wind; not the end"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T09:25Z].weighing",
          "contains": [
            "just north of Lisbon ~13:00-15:00"
          ]
        }
      ],
      "qualified_by": [
        "h1",
        "h4"
      ]
    },
    {
      "id": "h7",
      "text": "On the press's \"two centres\", the meteorologist wrote at 09:50: IPMA has put nothing in writing about two centres. Madeira airport's wind swung between 07:00 and 08:00 with its pressure lowest at 06:30; one centre could not pass Madeira then and reach Lisbon, 966 km away, by 13:00 to 15:00 without moving at 140 to 160 km/h. So Madeira's swing was most likely a separate feature: consistent with two centres, not proof of them. The test it sets for Lisbon: the airport's pressure bottoming near 988 to 992 hPa at about 14:00 to 15:00, with the wind turning through south-west.",
      "label": "hypothesis",
      "confidence": "medium (observations and distance; not IPMA in writing)",
      "said_by": "incident.meteorologist@web-summit.dinis (analysis; not IPMA's words)",
      "at_utc": "2026-11-11T09:50Z",
      "read_utc": "2026-11-11T09:45Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T0941"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T09:50Z].two_centres_confidence",
          "expect": "medium (observations and distance; not IPMA in writing)"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[written_utc=2026-11-11T09:50Z].analysis",
          "contains": [
            "966 km apart",
            "consistent with 'two centres' (not proven)"
          ]
        }
      ],
      "qualified_by": [
        "c21",
        "h6"
      ]
    },
    {
      "id": "h8",
      "text": "At 11:30 the meteorologist added, with low confidence: the airport's wind backing from south-south-east to east-south-east while the pressure falls hints that the centre may pass south of Lisbon, not just north of it as read at 09:25. The pressure minimum and the wind's turn between 13:00 and 16:00 will settle it. Radio Observador reported at 10:38 that the overnight reassessment moved the track further south, toward the Algarve; that is the press, not IPMA's written word. This is our analysis and not a forecast; IPMA's warnings are what stand.",
      "label": "hypothesis",
      "confidence": "low (the wind's backing and falling pressure at one airport)",
      "said_by": "incident.meteorologist@web-summit.dinis (analysis; not IPMA's words)",
      "at_utc": "2026-11-11T11:30Z",
      "read_utc": "2026-11-11T11:26:40Z",
      "supports": [
        {
          "kind": "row",
          "id": "s-1111T1128b"
        },
        {
          "kind": "row",
          "id": "s-1111T1109"
        },
        {
          "kind": "data",
          "file": "incidents/2026-11-10-storm-charles/data/weather/analysis.json",
          "field": "updates[time_utc=2026-11-11T11:30Z].summary",
          "contains": [
            "centre may pass south"
          ]
        }
      ],
      "qualified_by": [
        "h6",
        "h7"
      ],
      "tested_by": [
        "o1"
      ]
    }
  ],
  "not_known": [
    {
      "text": "Whether IPMA will publish a communiqué no. 3, or change Lisbon's warnings again: the wind warning was lowered to orange at 07:16 on Wednesday; the red rain warning stands.",
      "watch": "incidents/2026-11-10-storm-charles/data/weather/cap.json"
    },
    {
      "text": "What Antena 1's 22:00 bulletin said, and who said it: it is audio and was not heard, so whether IPMA's word was first on RTP or on Observador is not settled.",
      "watch": "research/media/first-on-each-fact.json"
    },
    {
      "text": "What a second IPMA meteorologist is reported to have told Renascença: the page refused automated reads and is not in this story.",
      "watch": "incidents/2026-11-10-storm-charles/data/weather/analysis.json"
    },
    {
      "text": "The time of Público's live entry: its headline was read at 00:29, its entry time was not.",
      "watch": "research/media/first-on-each-fact.json"
    },
    {
      "text": "Why IPMA's hourly model changed its values under the same stamp.",
      "watch": "incidents/2026-11-10-storm-charles/data/weather/forecast.json"
    },
    {
      "text": "Our own captures of the press pages: the evidence section is not built yet, so a press claim here links to the timeline row or data file that holds it and then to the outlet, not yet to a dated capture with a hash."
    },
    {
      "text": "How much wind Lisbon gets. That is for Wednesday's observations, from 12:00."
    }
  ],
  "record": [
    {
      "at_utc": "2026-11-11T02:25Z",
      "what": "First telling, on the data read at 01:51:55 UTC: 26 sentences. Lisbon's red wind and red rain warnings stand; no communiqué no. 3; three models in the data room disagree; nothing observed yet tests it.",
      "claims_added": [
        "c1",
        "c2",
        "c3",
        "c4",
        "c5",
        "c6",
        "c7",
        "c8",
        "c9",
        "c10",
        "c11",
        "c12",
        "c13",
        "c14",
        "c15",
        "c16",
        "c17",
        "c18",
        "h1",
        "h2",
        "h3",
        "g1",
        "g2",
        "o1",
        "o2",
        "o3"
      ],
      "claims_changed": [],
      "by": "incident.stories@web-summit.dinis"
    },
    {
      "at_utc": "2026-11-11T02:26Z",
      "what": "Checked against the read of 02:22:46 UTC. Nothing moved at IPMA: the same warnings for Lisbon, the communiqué still no. 2. Nothing moved in the three models. The airport's latest report is now 02:00 (wind from 200° at 5 knots, 1006 hPa), so the two sentences on the observations were retold.",
      "claims_added": [],
      "claims_changed": [
        "o1",
        "o2"
      ],
      "by": "incident.stories@web-summit.dinis"
    },
    {
      "at_utc": "2026-11-11T02:35Z",
      "what": "The hypothesis layer retold from the meteorologist's re-weighing of 02:35 UTC (analysis.md 7b, row s-1111T0229), which followed this story's note that an input had moved. Before: \"very close to Lisbon at about 17:00 to 18:00, more likely just south\", confidence medium; headline guidance \"IPMA's forecasters expect the strongest winds south of Lisbon; Lisbon's red warnings stand\". Now: which side of Lisbon the centre passes is unsettled (low); very close to Lisbon between about 15:00 and 18:00 (medium); \"'less wind for Lisbon' is not supported\". Nothing changed at IPMA: the red warnings stand. Row supports now show our own capture first where the evidence section holds one.",
      "claims_added": [
        "h4"
      ],
      "claims_changed": [
        "h1",
        "h2",
        "h3",
        "o3"
      ],
      "by": "incident.stories@web-summit.dinis"
    },
    {
      "at_utc": "2026-11-11T03:00Z",
      "what": "Checked against the read of 02:38:08 UTC: nothing moved at IPMA or in the models. The two sentences on the observations no longer quote the airport's newest half-hourly report (it was 02:00: wind from 200° at 5 knots, 1006 hPa); they now say what holds until something measurable happens, with tripwires on the first station hour at 12:00 and on the first gust above the warned gust.",
      "claims_added": [],
      "claims_changed": [
        "o1",
        "o2"
      ],
      "by": "incident.stories@web-summit.dinis"
    },
    {
      "at_utc": "2026-11-11T04:28Z",
      "what": "Checked against the read of 03:23:31 UTC: IPMA's red wind and red rain for Lisbon unchanged, the communiqué still no. 2, the models unchanged. One sentence added from a new timeline row (s-1111T0328): RTP's 03:00 bulletin title puts the shift south under IPMA's name again; IPMA has still written nothing new. Three supports now name the 01:29 re-read by its time (the list of re-reads had grown).",
      "claims_added": [
        "c19"
      ],
      "claims_changed": [],
      "by": "incident.stories@web-summit.dinis"
    },
    {
      "at_utc": "2026-11-11T05:28Z",
      "what": "Checked against the read of 04:23:17 UTC: IPMA's red wind and red rain for Lisbon unchanged, the communiqué still no. 2. One model moved: Open-Meteo's strongest mean wind was 20.6 km/h (gust 52.6) at 14:00 from the north-east; it is now 18.7 km/h (gust 53.6) at 10:00 from the south-south-west. MET Norway's values and IPMA's hourly model are as before. The three still disagree.",
      "claims_added": [],
      "claims_changed": [
        "c16",
        "c18"
      ],
      "by": "incident.stories@web-summit.dinis"
    },
    {
      "at_utc": "2026-11-11T05:28Z",
      "what": "Checked against the read of 05:22:49 UTC: IPMA's red wind and red rain for Lisbon unchanged, the communiqué still no. 2. A new airport forecast (issued 05:00): the 45-knot gust group now runs 09:00 to 18:00 (the 23:00 issue, which this story quoted as \"weaker at 23:00 than at 17:00\", ended it at 16:00); the 30% chance of 58-knot gusts is kept. MET Norway re-stamped its run with the same values.",
      "claims_added": [],
      "claims_changed": [
        "c15",
        "c17"
      ],
      "by": "incident.stories@web-summit.dinis"
    },
    {
      "at_utc": "2026-11-11T06:52Z",
      "what": "Checked against the read of 06:25:17 UTC: IPMA's red rain (09:00 to 18:00) and red wind (12:00 to 21:00) for Lisbon unchanged. Open-Meteo's values moved. Before: strongest mean 18.7 km/h and strongest gust 53.6 km/h, both at 10:00, from the south-south-west; 16.1 km/h at 14:00. Now: 19.4 km/h at 10:00 and 50 km/h at 11:00, from the south; 17.6 km/h at 14:00.",
      "claims_added": [],
      "claims_changed": [
        "c16"
      ],
      "by": "incident.stories@web-summit.dinis"
    },
    {
      "at_utc": "2026-11-11T07:53Z",
      "what": "The top of the story changed. Before: IPMA had sent no message that lowered, shortened or lifted a Lisbon warning; red wind 12:00 to 21:00, gusts to 120 km/h and 140 in the most exposed places. Now: at 07:16:30 on Wednesday IPMA lowered the wind warning to orange, 09:00 to 21:00, gusts to 120 km/h (row s-1111T0738); red rain unchanged; IPMA's open-data feed still showed red wind at 07:38; the meteorologist's reading of 07:45 added. Supports for the red wind warning now point at the kept CAP message, since the replaced warning leaves the feed.",
      "claims_added": [
        "c20",
        "h5"
      ],
      "claims_changed": [
        "c4",
        "c6",
        "c18",
        "g1",
        "h2",
        "o1"
      ],
      "by": "incident.stories@web-summit.dinis"
    },
    {
      "at_utc": "2026-11-11T07:57:40Z",
      "what": "The box at the top is now drawn from both of IPMA's channels, as the front page draws it: the newest message for each kind of weather, and what the open-data feed still lists where the two differ (before, it was drawn from the open data alone and showed red wind after IPMA's 07:16 message had lowered it to orange). The supports for Lisbon's red rain warning (09:00 to 18:00) now point at IPMA's kept message (PO-10-6290, sent 10 Nov 21:23) rather than the open-data list, which drops a warning when it ends; no sentence changed.",
      "claims_changed": []
    },
    {
      "at_utc": "2026-11-11T08:51Z",
      "what": "Retold on the read of 08:45:09 UTC. Before: IPMA's open-data feed still showed red wind (07:38). Now: the feed has the orange warning, 66 to 88 minutes after the message (row s-1111T0844). Before: IPMA's hourly model had Wednesday's strongest mean wind at 23.4 km/h at 20:00; now 40 km/h at 14:00, from the south. Before: MET Norway 58.3 km/h and 987.7 hPa at 15:00; now 55.1 km/h and 988.8 hPa at 15:00. The comparison of the three models follows. The warning windows open at 09:00; nothing measured inside them is in this telling.",
      "claims_changed": [
        "c14",
        "c15",
        "c18",
        "c20"
      ]
    },
    {
      "at_utc": "2026-11-11T09:31Z",
      "what": "Retold on the read of 09:22:47 UTC, the first after the windows opened at 09:00. Before, o1 said: \"Nothing measured yet can test any of this: the orange wind warning and the red rain warning both begin at 09:00 on Wednesday, and the observations we hold end before it.\" Now it gives the one measurement held from inside the windows (the airport at 09:00: 20 km/h, no gust reported) and says the station hours end at 08:00. o2 stands: no airport gust above the warned gust is listed.",
      "claims_changed": [
        "o1"
      ]
    },
    {
      "at_utc": "2026-11-11T09:56Z",
      "what": "Added from rows s-1111T0922, s-1111T0939 and s-1111T0941: the press on the lowered warning and \"two centres\" (c21, evidence); the meteorologist's reading of 09:25, which supersedes that of 02:35 (h6: just north of Lisbon, about 13:00 to 15:00, medium confidence; before, h1 and h4 had the side unsettled and 15:00 to 18:00); and its reading of \"two centres\" (h7). h1 to h5 are kept as what was held when.",
      "claims_changed": [
        "c21",
        "h6",
        "h7"
      ]
    },
    {
      "at_utc": "2026-11-11T10:52Z",
      "what": "Retold on the read of 10:22:42 UTC. Before: o1 said: \"The windows opened at 09:00 on Wednesday (orange for wind, red for rain), and one measurement from inside them is in the data room: the airport's 09:00 report, south-south-east 20 km/h with no gust reported, rain and mist, 1001 hPa. That is the same wind as at 08:00 and 08:30. IPMA's station hours we hold end at the one labelled 08:00, before the windows. One report at the opening minute cannot test any of this.\" c17 said: \"The airport's forecast, written by IPMA for pilots, has not eased since: the one issued at 05:00 on Wednesday keeps 30 knots gusting 45 (83 km/h) at times, now from 09:00 to 18:00 (the 23:00 issue ended that at 16:00), with a 30% chance of gusts of 58 knots (107 km/h) in thunderstorms between 10:00 and 18:00.\" c16 said: \"Open-Meteo's forecast for the same point is far lower, and moved again between reads: its strongest mean wind is now 19.4 km/h, at 10:00, and its strongest gust 50 km/h, at 11:00, both from the south. At 14:00 it has 17.6 km/h from the north-east.\" Now: o1 gives the airport's three reports inside the windows and the station hour labelled 09:00; c17 gives the airport forecast amended at 10:08 (lowered: 65 km/h at times to 16:00, was 83 km/h to 18:00; row s-1111T1028); c16 gives Open-Meteo's figures as they now stand.",
      "claims_changed": [
        "o1",
        "c17",
        "c16"
      ]
    },
    {
      "at_utc": "2026-11-11T11:56Z",
      "what": "On the 11:26:40 read. o1 retold: before, the airport's three reports to 10:00 and the station hour labelled 09:00 (3.0 to 6.5 mm at six stations, which might lie before the windows); now five reports to 11:00 (17 to 22 km/h, backing to east-south-east, no gust, heavy rain, 998 hPa) and the hour labelled 10:00, inside the windows on either reading (3.8 to 5.9 mm at seven stations). Tripwire now the airport's 12:00 report. c17 retold: the 11:00 TAF repeats the 10:08 cut, for 12:00 to 16:00, the wind turning west-north-west 16:00 to 18:00 (before: the 10:08 amendment, turning west 18:00 to 20:00). h8 added (row s-1111T1128b, low confidence: the centre may pass south of Lisbon); h6 stands as what was held at 09:25.",
      "claims_changed": [
        "o1",
        "c17",
        "h8"
      ]
    }
  ]
}
