{
 "about": "For incident.meteorology@ (which maps where each site's data comes from and under what licence): every entry of sites.json with what the site itself says about its data and models, where we read it ('stated': null = we did not read a page of the site that says), its API line, our licence line, and the links to its terms and contact pages as printed. This file is the hand-over; the lineage itself is not kept here.",
 "by": "incident.weatherwatch@web-summit.dinis",
 "updated": "11 November 2026, 03:39",
 "sites": [
  {
   "id": "metoffice",
   "name": "Met Office (UK)",
   "url": "https://www.metoffice.gov.uk/",
   "owner": "UK Met Office (public body)",
   "kind": "national-service",
   "map": "worldwide",
   "country": "United Kingdom",
   "stated": null,
   "api": "Weather DataHub (site-specific, map images, atmospheric models); key needed; plans by daily request limit",
   "licence_as_we_recorded": "Crown copyright; website material under the UK Open Government Licence v3.0 unless marked; some data licensed for a fee",
   "reuse": "yes with attribution for OGL material",
   "terms_url": "https://www.metoffice.gov.uk/policies/legal",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/metoffice.md"
  },
  {
   "id": "nws",
   "name": "US National Weather Service",
   "url": "https://www.weather.gov/",
   "owner": "NOAA / National Weather Service (US government)",
   "kind": "national-service",
   "map": "worldwide",
   "country": "United States",
   "stated": null,
   "api": "api.weather.gov: JSON-LD/GeoJSON, alerts in CAP, no key (a User-Agent is asked for)",
   "licence_as_we_recorded": "US government work: public domain (third-party imagery excepted)",
   "reuse": "yes",
   "terms_url": "https://www.weather.gov/disclaimer",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/nws.md"
  },
  {
   "id": "nhc",
   "name": "US National Hurricane Center",
   "url": "https://www.nhc.noaa.gov/",
   "owner": "NOAA (US government)",
   "kind": "storm-tracker",
   "map": "worldwide",
   "country": "United States",
   "stated": null,
   "api": "RSS and GIS feeds (shapefile, KML) per storm; text products",
   "licence_as_we_recorded": "public domain",
   "reuse": "yes",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/nhc.md"
  },
  {
   "id": "dwd",
   "name": "Deutscher Wetterdienst (Germany)",
   "url": "https://www.dwd.de/EN/Home/home_node.html",
   "owner": "DWD (German federal authority)",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Germany",
   "stated": "Its own models (ICON), radar network and stations (its open-data server was listed; model names from Open-Meteo's licence page).",
   "api": "opendata.dwd.de: files over HTTPS, no key (GRIB, BUFR, CAP, CSV)",
   "licence_as_we_recorded": "CC BY 4.0 with source named (read on its legal notice)",
   "reuse": "yes with attribution",
   "terms_url": "https://www.dwd.de/EN/Home/EN/service/imprint/imprint_node.html;jsessionid=71DAD68959EDCE622103D2616EEA5BE4.live11042",
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/dwd.md"
  },
  {
   "id": "meteofrance-vigilance",
   "name": "Météo-France: Vigilance",
   "url": "https://vigilance.meteofrance.fr/fr",
   "owner": "Météo-France (public body)",
   "kind": "national-service",
   "map": "worldwide",
   "country": "France",
   "stated": null,
   "api": "meteo.data.gouv.fr and a public API portal (key needed)",
   "licence_as_we_recorded": "French open licence (Etalab) for public data; not re-read in this pass",
   "reuse": "yes with attribution (to confirm)",
   "terms_url": "https://meteofrance.fr/mentions-legales",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/meteofrance-vigilance.md"
  },
  {
   "id": "aemet",
   "name": "AEMET (Spain)",
   "url": "https://www.aemet.es/en/portada",
   "owner": "Agencia Estatal de Meteorología (Spanish government)",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Spain",
   "stated": null,
   "api": "AEMET OpenData (REST, free API key)",
   "licence_as_we_recorded": "reuse allowed citing AEMET as the source, without distorting the information (read on its legal notice)",
   "reuse": "yes with attribution",
   "terms_url": "https://www.aemet.es/en/conocenos/transparencia/relevancia-juridica",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/aemet.md"
  },
  {
   "id": "yr",
   "name": "Yr (MET Norway and NRK)",
   "url": "https://www.yr.no/en",
   "owner": "Norwegian Meteorological Institute and NRK (public broadcaster)",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Norway",
   "stated": "MET Norway's forecasts (credit asked: \"The Norwegian Meteorological Institute\"); the warnings shown for Lisbon are IPMA's. Which model feeds the Lisbon rows was not stated on the page read.",
   "api": "api.met.no (Locationforecast and others): JSON, no key, an identifying User-Agent required",
   "licence_as_we_recorded": "NLOD 2.0 and CC BY 4.0; credit MET Norway (read on its licence page)",
   "reuse": "yes with attribution",
   "terms_url": "https://api.met.no/doc/License",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/yr.md"
  },
  {
   "id": "knmi",
   "name": "KNMI (Netherlands)",
   "url": "https://www.knmi.nl/home",
   "owner": "Royal Netherlands Meteorological Institute",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Netherlands",
   "stated": "Its own stations and the HARMONIE-AROME model (read on the KNMI Data Platform listing).",
   "api": "KNMI Data Platform: Open Data API, EDR API, notification service (key needed)",
   "licence_as_we_recorded": "CC BY 4.0 on the datasets read",
   "reuse": "yes with attribution",
   "terms_url": "https://www.knmi.nl/copyright",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/knmi.md"
  },
  {
   "id": "smhi",
   "name": "SMHI (Sweden)",
   "url": "https://www.smhi.se/en/weather",
   "owner": "Swedish Meteorological and Hydrological Institute",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Sweden",
   "stated": null,
   "api": "opendata.smhi.se (no key)",
   "licence_as_we_recorded": "CC BY 4.0 (not re-read in this pass)",
   "reuse": "yes with attribution",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/smhi.md"
  },
  {
   "id": "fmi",
   "name": "Finnish Meteorological Institute",
   "url": "https://en.ilmatieteenlaitos.fi/",
   "owner": "FMI (Finnish government)",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Finland",
   "stated": null,
   "api": "WFS open data, no key for most",
   "licence_as_we_recorded": "CC BY 4.0 (read on its licence page)",
   "reuse": "yes with attribution",
   "terms_url": "https://en.ilmatieteenlaitos.fi/open-data-licence",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/fmi.md"
  },
  {
   "id": "jma",
   "name": "Japan Meteorological Agency",
   "url": "https://www.jma.go.jp/bosai/map.html#lang=en",
   "owner": "JMA (Japanese government)",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Japan",
   "stated": null,
   "api": "JSON behind the map, undocumented but stable; XML feeds",
   "licence_as_we_recorded": "government terms of use, compatible with CC BY (not re-read)",
   "reuse": "yes with attribution (to confirm)",
   "terms_url": "https://www.jma.go.jp/jma/en/copyright.html",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/jma.md"
  },
  {
   "id": "bom",
   "name": "Bureau of Meteorology (Australia)",
   "url": "https://www.bom.gov.au/",
   "owner": "Australian Government",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Australia",
   "stated": null,
   "api": "FTP/JSON products; reuse under its copyright notice",
   "licence_as_we_recorded": "CC BY for most Bureau material (not re-read)",
   "reuse": "yes with attribution (to confirm)",
   "terms_url": "https://www.bom.gov.au/disclaimer",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/bom.md"
  },
  {
   "id": "eccc",
   "name": "Environment and Climate Change Canada",
   "url": "https://weather.gc.ca/",
   "owner": "Government of Canada",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Canada",
   "stated": null,
   "api": "MSC GeoMet (OGC API, WMS), Datamart; no key",
   "licence_as_we_recorded": "Environment and Climate Change Canada Data Servers End-use Licence (open, attribution)",
   "reuse": "yes with attribution",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/eccc.md"
  },
  {
   "id": "meteoswiss",
   "name": "MeteoSwiss",
   "url": "https://www.meteoswiss.admin.ch/",
   "owner": "Swiss Federal Office of Meteorology and Climatology",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Switzerland",
   "stated": null,
   "api": "open data since 2025 (STAC API)",
   "licence_as_we_recorded": "open government data, attribution (not re-read)",
   "reuse": "yes with attribution (to confirm)",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/meteoswiss.md"
  },
  {
   "id": "meteireann",
   "name": "Met Éireann (Ireland)",
   "url": "https://www.met.ie/",
   "owner": "Irish Meteorological Service",
   "kind": "national-service",
   "map": "worldwide",
   "country": "Ireland",
   "stated": null,
   "api": "open data (warnings JSON/XML, forecast API)",
   "licence_as_we_recorded": "CC BY 4.0 (not re-read)",
   "reuse": "yes with attribution",
   "terms_url": "https://www.met.ie/about-us/legal-reports-information",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/meteireann.md"
  },
  {
   "id": "ecmwf",
   "name": "ECMWF charts and open data",
   "url": "https://charts.ecmwf.int/",
   "owner": "European Centre for Medium-Range Weather Forecasts (intergovernmental)",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "International",
   "stated": "Its own models: IFS and AIFS (read on its open-data page).",
   "api": "open data files (GRIB) and a client; charts via Open Charts",
   "licence_as_we_recorded": "CC BY 4.0 with the ECMWF Terms of Use: redistribution and commercial use allowed with attribution (read)",
   "reuse": "yes with attribution",
   "terms_url": "https://apps.ecmwf.int/datasets/licences/general/",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/ecmwf.md"
  },
  {
   "id": "eumetsat",
   "name": "EUMETSAT EUMETView",
   "url": "https://view.eumetsat.int/",
   "owner": "EUMETSAT (intergovernmental)",
   "kind": "satellite",
   "map": "worldwide",
   "country": "International",
   "stated": "Its own satellites: Meteosat (including the third generation: the default EUMETView layers were MTG lightning, precipitation rate and infrared), Metop (read in EUMETView and its licensing guide).",
   "api": "WMS/WMTS, Data Store API",
   "licence_as_we_recorded": "EUMETSAT data policy: most Meteosat imagery free with attribution; the licensing page was a script shell here",
   "reuse": "yes with attribution (to confirm per product)",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/eumetsat.md"
  },
  {
   "id": "meteoalarm",
   "name": "MeteoAlarm",
   "url": "https://www.meteoalarm.org/en/live/",
   "owner": "EUMETNET (the network of European national services)",
   "kind": "warnings-aggregator",
   "map": "worldwide",
   "country": "Europe",
   "stated": "Warnings from the national services themselves (EUMETNET members); for Portugal, IPMA (read in its terms and feed).",
   "api": "Atom + CAP feeds per country, no key",
   "licence_as_we_recorded": "terms equivalent to CC BY 4.0 with extra conditions for redistribution (read in the feed)",
   "reuse": "yes with attribution and its conditions",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/meteoalarm.md"
  },
  {
   "id": "wmo-swic",
   "name": "WMO Severe Weather Information Centre",
   "url": "https://severeweather.wmo.int/",
   "owner": "World Meteorological Organization",
   "kind": "warnings-aggregator",
   "map": "worldwide",
   "country": "International",
   "stated": null,
   "api": "CAP feeds via the WMO Alert Hub",
   "licence_as_we_recorded": "per issuing service",
   "reuse": "per issuing service",
   "terms_url": "https://wmo.int/disclaimer",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/wmo-swic.md"
  },
  {
   "id": "copernicus-ems",
   "name": "Copernicus Emergency Management Service",
   "url": "https://emergency.copernicus.eu/",
   "owner": "European Commission",
   "kind": "emergency-mapping",
   "map": "worldwide",
   "country": "Europe",
   "stated": null,
   "api": "activation products as open files",
   "licence_as_we_recorded": "Copernicus open data, attribution",
   "reuse": "yes with attribution",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/copernicus-ems.md"
  },
  {
   "id": "nasa-worldview",
   "name": "NASA Worldview / GIBS",
   "url": "https://worldview.earthdata.nasa.gov/",
   "owner": "NASA (US government)",
   "kind": "satellite",
   "map": "worldwide",
   "country": "United States",
   "stated": null,
   "api": "GIBS WMTS/WMS, no key",
   "licence_as_we_recorded": "open (NASA data policy)",
   "reuse": "yes with credit",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/nasa-worldview.md"
  },
  {
   "id": "bbc-weather",
   "name": "BBC Weather",
   "url": "https://www.bbc.com/weather",
   "owner": "BBC (public broadcaster); forecast data from a commercial provider",
   "kind": "broadcaster",
   "map": "worldwide",
   "country": "United Kingdom",
   "stated": "The Lisbon page prints \"BBC Weather in association with MeteoGroup\": a partner is named, no model (pointed out by incident.meteorology@ and checked in our own copy of the page).",
   "api": "none public",
   "licence_as_we_recorded": "BBC terms: no reuse without permission; link and short quotation only",
   "reuse": "no",
   "terms_url": "https://www.bbc.co.uk/usingthebbc/terms/",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/bbc-weather.md"
  },
  {
   "id": "weathercom",
   "name": "The Weather Channel (weather.com)",
   "url": "https://weather.com/",
   "owner": "The Weather Company",
   "kind": "commercial",
   "map": "worldwide",
   "country": "United States",
   "stated": null,
   "api": "commercial only",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "no",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/weathercom.md"
  },
  {
   "id": "accuweather",
   "name": "AccuWeather",
   "url": "https://www.accuweather.com/",
   "owner": "AccuWeather Inc.",
   "kind": "commercial",
   "map": "worldwide",
   "country": "United States",
   "stated": null,
   "api": "commercial",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "no",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "blocked",
   "page": "research/weather-sites/sites/accuweather.md"
  },
  {
   "id": "meteoblue",
   "name": "meteoblue",
   "url": "https://www.meteoblue.com/en/weather/week/lisbon_portugal_2267057",
   "owner": "meteoblue AG (Basel)",
   "kind": "commercial",
   "map": "worldwide",
   "country": "Switzerland",
   "stated": null,
   "api": "commercial API; free non-commercial tier",
   "licence_as_we_recorded": "all rights reserved; attribution required for the free tier",
   "reuse": "limited",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/meteoblue.md"
  },
  {
   "id": "wunderground",
   "name": "Weather Underground",
   "url": "https://www.wunderground.com/",
   "owner": "The Weather Company",
   "kind": "commercial",
   "map": "worldwide",
   "country": "United States",
   "stated": "Its /about/data page lists \"ECMWF, GFS, and NAM\" as forecast input, as read by incident.meteorology@ (not read by us).",
   "api": "for station owners",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "no",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/wunderground.md"
  },
  {
   "id": "foreca",
   "name": "Foreca",
   "url": "https://www.foreca.com/",
   "owner": "Foreca Ltd (Finland)",
   "kind": "commercial",
   "map": "worldwide",
   "country": "Finland",
   "stated": null,
   "api": "commercial",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "no",
   "terms_url": "https://www.foreca.com/terms-and-conditions",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/foreca.md"
  },
  {
   "id": "weatherandradar",
   "name": "Weather & Radar",
   "url": "https://www.weatherandradar.co.uk/",
   "owner": "WetterOnline GmbH",
   "kind": "commercial",
   "map": "worldwide",
   "country": "Germany",
   "stated": null,
   "api": "none public",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "no",
   "terms_url": "https://www.weatherandradar.co.uk/imprint",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/weatherandradar.md"
  },
  {
   "id": "windy",
   "name": "Windy",
   "url": "https://www.windy.com/",
   "owner": "Windyty SE (Prague)",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "Czechia",
   "stated": "Model switch on the map: ECMWF, GFS, ICON, AROME and others (product knowledge; the model list was not read in this pass). Observador's embeds name GFS and ECMWF.",
   "api": "paid Point Forecast and Map Forecast APIs; free embed widget (iframe)",
   "licence_as_we_recorded": "all rights reserved; embed allowed as provided",
   "reuse": "embed only",
   "terms_url": "https://api.windy.com/webcams/terms",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/windy.md"
  },
  {
   "id": "ventusky",
   "name": "Ventusky",
   "url": "https://www.ventusky.com/",
   "owner": "InMeteo s.r.o. (Czechia)",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "Czechia",
   "stated": "Observador's two embeds of it request the models \"gfs\" and \"ecmwf_hres\" (read in the embed addresses).",
   "api": "commercial",
   "licence_as_we_recorded": "all rights reserved; embed allowed",
   "reuse": "embed only",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/ventusky.md"
  },
  {
   "id": "nullschool",
   "name": "earth.nullschool.net",
   "url": "https://earth.nullschool.net/",
   "owner": "Cameron Beccario",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "Japan",
   "stated": "GFS (product knowledge; not read in this pass).",
   "api": "none",
   "licence_as_we_recorded": "all rights reserved (the original code is MIT on GitHub)",
   "reuse": "link only",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/nullschool.md"
  },
  {
   "id": "zoomearth",
   "name": "Zoom Earth",
   "url": "https://zoom.earth/",
   "owner": "Neave Interactive",
   "kind": "storm-tracker",
   "map": "worldwide",
   "country": "United Kingdom",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved; imagery from public agencies",
   "reuse": "link only",
   "terms_url": "https://zoom.earth/legal/terms/",
   "terms_signals": [
    "names_automated_access_or_ai",
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/zoomearth.md"
  },
  {
   "id": "openmeteo",
   "name": "Open-Meteo",
   "url": "https://open-meteo.com/",
   "owner": "Open-Meteo (open source)",
   "kind": "data-api",
   "map": "worldwide",
   "country": "Switzerland",
   "stated": "Open data of national services, listed on its licence page: DWD (ICON), ECMWF (IFS, AIFS), Météo-France, NOAA and others, each under its own open licence (read).",
   "api": "HTTP GET, no key, no sign-up",
   "licence_as_we_recorded": "CC BY 4.0 for the data; the free tier is for non-commercial use",
   "reuse": "yes with attribution",
   "terms_url": "https://open-meteo.com/en/licence",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "json",
   "page": "research/weather-sites/sites/openmeteo.md"
  },
  {
   "id": "pirateweather",
   "name": "Pirate Weather",
   "url": "https://pirateweather.net/",
   "owner": "open source project",
   "kind": "data-api",
   "map": "worldwide",
   "country": "Canada",
   "stated": null,
   "api": "free key",
   "licence_as_we_recorded": "open source; data from NOAA",
   "reuse": "yes",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/pirateweather.md"
  },
  {
   "id": "rainviewer",
   "name": "RainViewer",
   "url": "https://www.rainviewer.com/",
   "owner": "RainViewer",
   "kind": "radar",
   "map": "worldwide",
   "country": "not stated",
   "stated": null,
   "api": "public Weather Maps API",
   "licence_as_we_recorded": "free for personal, educational and small community use only (read on its API page)",
   "reuse": "limited",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/rainviewer.md"
  },
  {
   "id": "blitzortung",
   "name": "Blitzortung / LightningMaps",
   "url": "https://www.lightningmaps.org/",
   "owner": "Blitzortung.org (volunteer network)",
   "kind": "lightning",
   "map": "worldwide",
   "country": "Germany",
   "stated": null,
   "api": "data for contributing station owners",
   "licence_as_we_recorded": "non-commercial; raw data only for participants (read)",
   "reuse": "link only",
   "terms_url": "https://www.blitzortung.org/en/contact.php#contribution_3",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/blitzortung.md"
  },
  {
   "id": "meteociel",
   "name": "Meteociel",
   "url": "https://www.meteociel.fr/",
   "owner": "Meteociel (France)",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "France",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "link only",
   "terms_url": "https://www.meteociel.fr/copyright/mentions.php",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/meteociel.md"
  },
  {
   "id": "wetterzentrale",
   "name": "Wetterzentrale",
   "url": "https://www.wetterzentrale.de/",
   "owner": "Wetterzentrale (Germany)",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "Germany",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "link only",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/wetterzentrale.md"
  },
  {
   "id": "tropicaltidbits",
   "name": "Tropical Tidbits",
   "url": "https://www.tropicaltidbits.com/",
   "owner": "Levi Cowan",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "United States",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "link only",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/tropicaltidbits.md"
  },
  {
   "id": "windguru",
   "name": "Windguru",
   "url": "https://www.windguru.cz/",
   "owner": "Windguru (Czechia)",
   "kind": "specialist",
   "map": "worldwide",
   "country": "Czechia",
   "stated": "Named on the page per table: GFS 13 km, GFS-Wave 16 km, IFS-HRES 9 km, IFS-WAM 9 km, ICON 7 and 13 km, WRF 3 and 9 km, Zephr-HD 2.6 km, GDPS 15 km and others, each with its run time (\"init\"); live readings from named local stations (seen in the rendered page).",
   "api": "for paying members",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "link only",
   "terms_url": "https://www.windguru.cz/help.php?sec=terms",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/windguru.md"
  },
  {
   "id": "windfinder",
   "name": "Windfinder",
   "url": "https://www.windfinder.com/",
   "owner": "Windfinder GmbH",
   "kind": "specialist",
   "map": "worldwide",
   "country": "Germany",
   "stated": null,
   "api": "commercial",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "no",
   "terms_url": "https://www.windfinder.com/contact/terms",
   "terms_signals": [
    "needs_permission",
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/windfinder.md"
  },
  {
   "id": "estofex",
   "name": "ESTOFEX",
   "url": "https://www.estofex.org/",
   "owner": "European Storm Forecast Experiment (volunteers)",
   "kind": "specialist",
   "map": "worldwide",
   "country": "Europe",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "non-commercial reuse with credit (not re-read)",
   "reuse": "link only",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/estofex.md"
  },
  {
   "id": "eswd",
   "name": "European Severe Weather Database",
   "url": "https://eswd.eu/",
   "owner": "European Severe Storms Laboratory",
   "kind": "specialist",
   "map": "worldwide",
   "country": "Europe",
   "stated": null,
   "api": "on request",
   "licence_as_we_recorded": "free viewing; data by agreement",
   "reuse": "link only",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/eswd.md"
  },
  {
   "id": "severeweathereu",
   "name": "Severe Weather Europe",
   "url": "https://www.severe-weather.eu/",
   "owner": "Severe Weather Europe",
   "kind": "specialist-press",
   "map": "worldwide",
   "country": "Europe",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "no",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/severeweathereu.md"
  },
  {
   "id": "fuberlin",
   "name": "FU Berlin: Aktion Wetterpate",
   "url": "https://www.met.fu-berlin.de/adopt-a-vortex/",
   "owner": "Freie Universität Berlin",
   "kind": "storm-naming",
   "map": "worldwide",
   "country": "Germany",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "link only",
   "terms_url": "https://www.wetterpate.de/impressum/index.html",
   "terms_signals": [],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/fuberlin.md"
  },
  {
   "id": "mesonet",
   "name": "Iowa Environmental Mesonet",
   "url": "https://mesonet.agron.iastate.edu/",
   "owner": "Iowa State University",
   "kind": "archive",
   "map": "worldwide",
   "country": "United States",
   "stated": null,
   "api": "open CSV/JSON",
   "licence_as_we_recorded": "open",
   "reuse": "yes",
   "terms_url": "https://mesonet.agron.iastate.edu/disclaimer.php",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/mesonet.md"
  },
  {
   "id": "aviationweather",
   "name": "Aviation Weather Center data API",
   "url": "https://aviationweather.gov/",
   "owner": "NOAA (US government)",
   "kind": "aviation",
   "map": "worldwide",
   "country": "United States",
   "stated": "METAR and TAF as issued by each airport's meteorological office (for Lisbon, issued in Portugal).",
   "api": "JSON, no key",
   "licence_as_we_recorded": "public domain",
   "reuse": "yes",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "json",
   "page": "research/weather-sites/sites/aviationweather.md"
  },
  {
   "id": "ogimet",
   "name": "OGIMET",
   "url": "https://www.ogimet.com/",
   "owner": "OGIMET (Spain, volunteer)",
   "kind": "archive",
   "map": "worldwide",
   "country": "Spain",
   "stated": null,
   "api": "query pages",
   "licence_as_we_recorded": "free, rate-limited",
   "reuse": "link only",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/ogimet.md"
  },
  {
   "id": "kachelmann",
   "name": "Kachelmannwetter / meteologix / weather.us",
   "url": "https://kachelmannwetter.com/",
   "owner": "private",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "Germany",
   "stated": null,
   "api": "not assessed",
   "licence_as_we_recorded": "not assessed",
   "reuse": "not assessed",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "blocked",
   "page": "research/weather-sites/sites/kachelmann.md"
  },
  {
   "id": "wxcharts",
   "name": "WXCharts",
   "url": "https://wxcharts.com/",
   "owner": "private",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "United Kingdom",
   "stated": null,
   "api": "not assessed",
   "licence_as_we_recorded": "not assessed",
   "reuse": "not assessed",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "blocked",
   "page": "research/weather-sites/sites/wxcharts.md"
  },
  {
   "id": "netweather",
   "name": "Netweather",
   "url": "https://www.netweather.tv/",
   "owner": "private",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "United Kingdom",
   "stated": null,
   "api": "not assessed",
   "licence_as_we_recorded": "not assessed",
   "reuse": "not assessed",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "blocked",
   "page": "research/weather-sites/sites/netweather.md"
  },
  {
   "id": "pivotal",
   "name": "Pivotal Weather",
   "url": "https://www.pivotalweather.com/",
   "owner": "private",
   "kind": "model-viewer",
   "map": "worldwide",
   "country": "United States",
   "stated": null,
   "api": "not assessed",
   "licence_as_we_recorded": "not assessed",
   "reuse": "not assessed",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:38Z",
   "seen": "blocked",
   "page": "research/weather-sites/sites/pivotal.md"
  },
  {
   "id": "ipma",
   "name": "IPMA",
   "url": "https://www.ipma.pt/pt/index.html",
   "owner": "Instituto Português do Mar e da Atmosfera (the State's meteorological authority)",
   "kind": "national-service",
   "map": "portugal",
   "country": "Portugal",
   "stated": "Its own observation network, radars and forecasters; for the automatic forecasts, \"processamento estatístico das previsões de dois modelos numéricos (ECMWF e AROME)\", updated twice a day from the 00 and 12 UTC runs (read on api.ipma.pt).",
   "api": "api.ipma.pt open data: JSON, no key (warnings up to 3 days, daily forecast by city, hourly station observations, sea state, seismic events)",
   "licence_as_we_recorded": "use allowed for personal or public purposes that are not for profit or offensive, always naming the source (read on api.ipma.pt)",
   "reuse": "yes, non-commercial, with attribution",
   "terms_url": "https://www.ipma.pt/opencms/pt/siteinfo/index.html?page=index.xml",
   "terms_signals": [
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/ipma.md"
  },
  {
   "id": "ipma-avisos",
   "name": "IPMA: warnings on a timeline",
   "url": "https://www.ipma.pt/pt/otempo/prev-sam/",
   "owner": "IPMA",
   "kind": "national-service",
   "map": "portugal",
   "country": "Portugal",
   "stated": "IPMA's forecasters issue the warnings; criteria are on its \"Critérios de emissão\" page (linked from the page; not read).",
   "api": "warnings_www.json (read: 2 KB)",
   "licence_as_we_recorded": "as IPMA",
   "reuse": "yes, non-commercial, with attribution",
   "terms_url": "https://www.ipma.pt/opencms/pt/siteinfo/index.html?page=index.xml",
   "terms_signals": [
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/ipma-avisos.md"
  },
  {
   "id": "ipma-comunicados",
   "name": "IPMA: communiqués",
   "url": "https://www.ipma.pt/pt/otempo/comunicados/",
   "owner": "IPMA",
   "kind": "national-service",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "RSS (comunicados.xml)",
   "licence_as_we_recorded": "as IPMA; its notice says copyright does not apply to communiqués",
   "reuse": "yes with attribution",
   "terms_url": "https://www.ipma.pt/opencms/pt/siteinfo/index.html?page=index.xml",
   "terms_signals": [
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/ipma-comunicados.md"
  },
  {
   "id": "ipma-local",
   "name": "IPMA: forecast by place, hourly",
   "url": "https://www.ipma.pt/pt/otempo/prev.localidade.hora/",
   "owner": "IPMA",
   "kind": "national-service",
   "map": "portugal",
   "country": "Portugal",
   "stated": "Automatic: statistical processing of two numerical models, ECMWF and AROME, twice a day (read on the page's own notes and on api.ipma.pt). The page says this automatic forecast may differ from the forecasters' descriptive forecast and warnings.",
   "api": "daily by city in the open API; the hourly series is on the site",
   "licence_as_we_recorded": "as IPMA",
   "reuse": "yes, non-commercial, with attribution",
   "terms_url": "https://www.ipma.pt/opencms/pt/siteinfo/index.html?page=index.xml",
   "terms_signals": [
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "rendered",
   "page": "research/weather-sites/sites/ipma-local.md"
  },
  {
   "id": "ipma-obs",
   "name": "IPMA: radar, satellite, stations, lightning",
   "url": "https://www.ipma.pt/pt/otempo/obs.radar/",
   "owner": "IPMA",
   "kind": "national-service",
   "map": "portugal",
   "country": "Portugal",
   "stated": "IPMA's own radars, surface stations and lightning network; Meteosat imagery from EUMETSAT (the satellite page is marked \"copyright EUMETSAT/IPMA\").",
   "api": "station observations in the open API (read: 93 KB JSON)",
   "licence_as_we_recorded": "as IPMA; imagery under its terms",
   "reuse": "yes, non-commercial, with attribution; images by link",
   "terms_url": "https://www.ipma.pt/opencms/pt/siteinfo/index.html?page=index.xml",
   "terms_signals": [
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/ipma-obs.md"
  },
  {
   "id": "prociv",
   "name": "ANEPC: notices to the population",
   "url": "https://prociv.gov.pt/pt/avisos-a-populacao/",
   "owner": "Autoridade Nacional de Emergência e Proteção Civil",
   "kind": "civil-protection",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none documented; occurrences are republished by fogos.pt",
   "licence_as_we_recorded": "public body; cite the source",
   "reuse": "quote with attribution",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/prociv.md"
  },
  {
   "id": "fogos",
   "name": "Fogos.pt / VOST Portugal",
   "url": "https://fogos.pt/",
   "owner": "VOST Portugal (digital volunteers)",
   "kind": "volunteer-network",
   "map": "portugal",
   "country": "Portugal",
   "stated": "ANEPC's occurrence data (stated on the site).",
   "api": "api.fogos.pt (answered 429 to us: rate limit)",
   "licence_as_we_recorded": "open project; data from ANEPC",
   "reuse": "yes with attribution (to confirm)",
   "terms_url": "https://fogos.pt/pt/api-termos",
   "terms_signals": [
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/fogos.md"
  },
  {
   "id": "hidrografico",
   "name": "Instituto Hidrográfico",
   "url": "https://www.hidrografico.pt/",
   "owner": "Portuguese Navy",
   "kind": "public-service",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none documented",
   "licence_as_we_recorded": "all rights reserved; cite",
   "reuse": "link only",
   "terms_url": "https://www.hidrografico.pt/paginas-genericas/paginas-do-antigo-site/informacao-legal1/",
   "terms_signals": [
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/hidrografico.md"
  },
  {
   "id": "amn",
   "name": "Autoridade Marítima Nacional",
   "url": "https://www.amn.pt/",
   "owner": "Portuguese Navy",
   "kind": "public-service",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "public body; cite",
   "reuse": "quote with attribution",
   "terms_url": "https://www.amn.pt/Paginas/InformacaoLegal.aspx",
   "terms_signals": [
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/amn.md"
  },
  {
   "id": "rtp",
   "name": "RTP Notícias",
   "url": "https://www.rtp.pt/noticias/",
   "owner": "RTP (public broadcaster)",
   "kind": "broadcaster",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "RSS",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "http://media.rtp.pt/rgpd/termos-e-condicoes/",
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/rtp.md"
  },
  {
   "id": "sic",
   "name": "SIC Notícias: meteorologia",
   "url": "https://sicnoticias.pt/meteorologia",
   "owner": "Impresa",
   "kind": "broadcaster",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "no",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "blocked",
   "page": "research/weather-sites/sites/sic.md"
  },
  {
   "id": "cnnportugal",
   "name": "CNN Portugal / TVI: meteorologia",
   "url": "https://cnnportugal.iol.pt/meteorologia",
   "owner": "Media Capital",
   "kind": "broadcaster",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/cnnportugal.md"
  },
  {
   "id": "publico",
   "name": "Público: meteorologia",
   "url": "https://www.publico.pt/meteorologia",
   "owner": "Público Comunicação Social",
   "kind": "press",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.publico.pt/assinaturas/termos-e-condicoes",
   "terms_signals": [],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/publico.md"
  },
  {
   "id": "observador",
   "name": "Observador",
   "url": "https://observador.pt/",
   "owner": "Observador On Time",
   "kind": "press",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://observador.pt/termos-e-condicoes/",
   "terms_signals": [],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/observador.md"
  },
  {
   "id": "expresso",
   "name": "Expresso",
   "url": "https://expresso.pt/",
   "owner": "Impresa",
   "kind": "press",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "no",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "blocked",
   "page": "research/weather-sites/sites/expresso.md"
  },
  {
   "id": "press-others",
   "name": "JN, DN, Correio da Manhã, Negócios, ECO, TSF, Renascença, Lusa, Notícias ao Minuto, SAPO",
   "url": "https://www.jn.pt/",
   "owner": "several publishers",
   "kind": "press",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.dn.pt/termos-de-utilizacao",
   "terms_signals": [],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/press-others.md"
  },
  {
   "id": "tempopt",
   "name": "tempo.pt (Meteored)",
   "url": "https://www.tempo.pt/",
   "owner": "Meteored (Spain)",
   "kind": "commercial",
   "map": "portugal",
   "country": "Portugal",
   "stated": "Not stated on the pages read; its articles name models and IPMA in prose.",
   "api": "none public",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.tempo.pt/aviso_legal.html",
   "terms_signals": [
    "names_automated_access_or_ai",
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/tempopt.md"
  },
  {
   "id": "lusometeo",
   "name": "Luso Meteo",
   "url": "https://www.lusometeo.com/",
   "owner": "Luso Meteo (independent)",
   "kind": "amateur",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://lusometeo.com/termos-legais/",
   "terms_signals": [],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/lusometeo.md"
  },
  {
   "id": "meteopt",
   "name": "MeteoPT",
   "url": "https://www.meteopt.com/",
   "owner": "MeteoPT community",
   "kind": "amateur",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "posts belong to their authors",
   "reuse": "link only; no names of private people",
   "terms_url": "https://www.meteopt.com/termos-de-uso",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/meteopt.md"
  },
  {
   "id": "meteo-regional",
   "name": "Regional station networks: MeteoEstrela, MeteoAlentejo",
   "url": "https://www.meteoestrela.pt/",
   "owner": "local associations and volunteers",
   "kind": "amateur",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none documented",
   "licence_as_we_recorded": "per network",
   "reuse": "link only",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/meteo-regional.md"
  },
  {
   "id": "meteo-not-opened",
   "name": "Not opened: Meteo Trás-os-Montes, BestWeather, Troposfera, Meteomoita",
   "url": "https://meteotrasosmontes.pt/",
   "owner": "independent",
   "kind": "amateur",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "not assessed",
   "licence_as_we_recorded": "not assessed",
   "reuse": "not assessed",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "failed",
   "page": "research/weather-sites/sites/meteo-not-opened.md"
  },
  {
   "id": "sapo-tempo",
   "name": "SAPO Tempo and SAPO front page",
   "url": "https://tempo.sapo.pt/",
   "owner": "MEO / Altice",
   "kind": "portal",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "link only",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/sapo-tempo.md"
  },
  {
   "id": "english-press",
   "name": "The Portugal News (English)",
   "url": "https://www.theportugalnews.com/",
   "owner": "The Portugal News",
   "kind": "press",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.theportugalnews.com/terms-and-conditions",
   "terms_signals": [
    "needs_permission",
    "names_automated_access_or_ai",
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/english-press.md"
  },
  {
   "id": "beachcam",
   "name": "Beachcam (MEO)",
   "url": "https://beachcam.meo.pt/",
   "owner": "MEO",
   "kind": "webcams",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "link only",
   "terms_url": "https://beachcam.meo.pt/termos-e-condicoes/",
   "terms_signals": [],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/beachcam.md"
  },
  {
   "id": "pt-transport-weather",
   "name": "Airport and air navigation: ANA, NAV Portugal",
   "url": "https://www.ana.pt/",
   "owner": "ANA (VINCI) and NAV Portugal",
   "kind": "aviation",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "link only",
   "terms_url": "https://www.ana.pt/en/terms-and-conditions",
   "terms_signals": [
    "needs_permission",
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/pt-transport-weather.md"
  },
  {
   "id": "dados-gov",
   "name": "dados.gov.pt",
   "url": "https://dados.gov.pt/pt/datasets/?q=ipma",
   "owner": "AMA (Portuguese State)",
   "kind": "open-data",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "catalogue API",
   "licence_as_we_recorded": "per dataset",
   "reuse": "per dataset",
   "terms_url": "https://dados.gov.pt/termos-de-utilizacao",
   "terms_signals": [
    "open_licence",
    "needs_permission"
   ],
   "read": "2026-11-10T23:39Z",
   "seen": "html",
   "page": "research/weather-sites/sites/dados-gov.md"
  },
  {
   "id": "pt-blocked",
   "name": "Not opened: SNIRH (rivers), E-REDES network status, Lisboa Aberta, Surfline",
   "url": "https://snirh.apambiente.pt/",
   "owner": "APA, E-REDES, Lisbon City Council, Surfline",
   "kind": "public-service",
   "map": "portugal",
   "country": "Portugal",
   "stated": null,
   "api": "not assessed",
   "licence_as_we_recorded": "not assessed",
   "reuse": "not assessed",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:39Z",
   "seen": "blocked",
   "page": "research/weather-sites/sites/pt-blocked.md"
  },
  {
   "id": "sc-ipma",
   "name": "IPMA: communiqué no. 2 and the warnings",
   "url": "https://www.ipma.pt/pt/otempo/comunicados/",
   "owner": "IPMA",
   "kind": "authority",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "warnings_www.json, comunicados.xml",
   "licence_as_we_recorded": "as IPMA",
   "reuse": "yes, non-commercial, with attribution",
   "terms_url": "https://www.ipma.pt/opencms/pt/siteinfo/index.html?page=index.xml",
   "terms_signals": [
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-ipma.md"
  },
  {
   "id": "sc-prociv",
   "name": "ANEPC: notice 21 and preventive measures",
   "url": "https://prociv.gov.pt/pt/avisos-a-populacao/",
   "owner": "ANEPC",
   "kind": "authority",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "public body; cite",
   "reuse": "quote with attribution",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:41Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-prociv.md"
  },
  {
   "id": "sc-meteoalarm",
   "name": "MeteoAlarm: Portugal feed",
   "url": "https://feeds.meteoalarm.org/feeds/meteoalarm-legacy-atom-portugal",
   "owner": "EUMETNET",
   "kind": "authority-aggregator",
   "map": "storm-charles",
   "country": "Europe",
   "stated": null,
   "api": "Atom/CAP",
   "licence_as_we_recorded": "equivalent to CC BY 4.0 with conditions",
   "reuse": "yes with attribution",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-meteoalarm.md"
  },
  {
   "id": "sc-aemet",
   "name": "AEMET: season table of named storms",
   "url": "https://www.aemet.es/es/conocermas/borrascas/2026-2027",
   "owner": "AEMET",
   "kind": "authority",
   "map": "storm-charles",
   "country": "Spain",
   "stated": null,
   "api": "OpenData",
   "licence_as_we_recorded": "cite AEMET",
   "reuse": "yes with attribution",
   "terms_url": "https://www.aemet.es/es/nota_legal",
   "terms_signals": [],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-aemet.md"
  },
  {
   "id": "sc-rr-dashboard",
   "name": "Renascença: \"Monitorização Depressão Charles\"",
   "url": "https://rr.pt/tempestade-charles-avisos-e-ocorrencias",
   "owner": "Rádio Renascença",
   "kind": "interactive",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": "Labelled on the page: \"Proteção Civil\" for occurrences and \"Avisos Meteorológicos\" for warnings; the feeds behind it load by script and were not seen.",
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://rr.pt/termos-e-condicoes",
   "terms_signals": [],
   "read": "2026-11-10T23:46Z",
   "seen": "shell",
   "page": "research/weather-sites/sites/sc-rr-dashboard.md"
  },
  {
   "id": "sc-rtp-live",
   "name": "RTP: live blog \"Depressão Charles junta-se a Bruna. A evolução do mau tempo em Portugal\"",
   "url": "https://www.rtp.pt/noticias/pais/depressao-charles-esperado-agravamento-significativo-das-condicoes-meteorologicas_e1778024",
   "owner": "RTP",
   "kind": "liveblog",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "http://media.rtp.pt/rgpd/termos-e-condicoes/",
   "terms_signals": null,
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-rtp-live.md"
  },
  {
   "id": "sc-publico-live",
   "name": "Público: \"Ao Minuto\" on Charles",
   "url": "https://www.publico.pt/2026/11/10/sociedade/noticia/carros-submersos-estradas-alagadas-lisboa-escolas-servicos-publicos-fecham-quarta-2194405",
   "owner": "Público",
   "kind": "liveblog",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.publico.pt/assinaturas/termos-e-condicoes",
   "terms_signals": [],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-publico-live.md"
  },
  {
   "id": "sc-publico-explainer",
   "name": "Público: \"O que precisa de saber sobre a depressão Charles\"",
   "url": "https://www.publico.pt/2026/11/10/sociedade/noticia/mau-tempo-governo-pede-apenas-deslocacoes-necessarias-periodos-chuva-intensa-2194385",
   "owner": "Público",
   "kind": "explainer",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.publico.pt/assinaturas/termos-e-condicoes",
   "terms_signals": [],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-publico-explainer.md"
  },
  {
   "id": "sc-observador-live",
   "name": "Observador: general live blog leading on Charles",
   "url": "https://observador.pt/liveblogs/manifestantes-detidos-no-porto-pronunciam-se-sobre-suspensao-provisoria-do-processo/",
   "owner": "Observador",
   "kind": "liveblog",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://observador.pt/termos-e-condicoes/",
   "terms_signals": [],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-observador-live.md"
  },
  {
   "id": "sc-observador-especial",
   "name": "Observador: special \"Charles: o que a distingue da Kristin e quão grave pode ser?\"",
   "url": "https://observador.pt/especiais/ventos-superiores-a-150-km-h-chuva-torrencial-e-a-ameaca-de-um-novo-sting-jet-pode-a-charles-repetir-a-kristin/",
   "owner": "Observador",
   "kind": "explainer",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://observador.pt/termos-e-condicoes/",
   "terms_signals": [],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-observador-especial.md"
  },
  {
   "id": "sc-negocios-live",
   "name": "Jornal de Negócios: live \"País em estado de alerta esta quarta-feira\"",
   "url": "https://www.jornaldenegocios.pt/economia/detalhe/fiquem-em-casa-todos-os-que-puderem-escolas-e-servicos-publicos-encerrados-amanha-siga-ao-minuto",
   "owner": "Medialivre",
   "kind": "liveblog",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.jornaldenegocios.pt/institucional/detalhe/20150902-1659-33jn-1-3-disclaimer",
   "terms_signals": [
    "needs_permission",
    "names_automated_access_or_ai",
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-negocios-live.md"
  },
  {
   "id": "sc-nam-live",
   "name": "Notícias ao Minuto: \"AO MINUTO\"",
   "url": "https://www.noticiasaominuto.com/pais/3081421/ao-minuto-so-saia-de-casa-se-for-necessario-madeira-a-vermelho",
   "owner": "Notícias ao Minuto",
   "kind": "liveblog",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.noticiasaominuto.com/termos-e-condicoes",
   "terms_signals": [],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-nam-live.md"
  },
  {
   "id": "sc-rr-live",
   "name": "Renascença: \"Depressão Charles ao minuto\" and topic page",
   "url": "https://rr.pt/depressao-charles/tag/12540/",
   "owner": "Rádio Renascença",
   "kind": "liveblog",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://rr.pt/termos-e-condicoes",
   "terms_signals": [],
   "read": "2026-11-10T23:46Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-rr-live.md"
  },
  {
   "id": "sc-eco",
   "name": "ECO: topic \"Depressão Charles\"",
   "url": "https://eco.sapo.pt/topico/depressao-charles/",
   "owner": "ECO",
   "kind": "topic-page",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://eco.sapo.pt/termos-e-condicoes/",
   "terms_signals": [],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-eco.md"
  },
  {
   "id": "sc-jn",
   "name": "Jornal de Notícias: \"Tudo o que precisa de saber\" and \"o que fecha\"",
   "url": "https://www.jn.pt/nacional/artigo/tudo-o-que-precisa-de-saber-sobre-a-tempestade-charles/18146628",
   "owner": "Global Media",
   "kind": "explainer",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-jn.md"
  },
  {
   "id": "sc-tsf",
   "name": "TSF: path \"incerto\", critical period Wednesday afternoon; transport",
   "url": "https://www.tsf.pt/sociedade/artigo/depressao-charles-mantem-trajeto-incerto-e-devera-atingir-o-periodo-mais-critico-na-tarde-de-quarta-feira/18146855",
   "owner": "Global Media",
   "kind": "explainer",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.tsf.pt/termos-e-condicoes",
   "terms_signals": [
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-tsf.md"
  },
  {
   "id": "sc-cnn",
   "name": "CNN Portugal / TVI: video coverage and \"Por onde vai entrar a tempestade Charles\"",
   "url": "https://cnnportugal.iol.pt/meteorologia",
   "owner": "Media Capital",
   "kind": "broadcaster",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:41Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-cnn.md"
  },
  {
   "id": "sc-cm",
   "name": "Correio da Manhã / CMTV: \"Veja o percurso da tempestade Charles\"",
   "url": "https://www.cmjornal.pt/cmtv/videos/detalhe/veja-o-percurso-da-tempestade-charles-e-por-onde-deve-entrar-em-portugal",
   "owner": "Medialivre",
   "kind": "broadcaster",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-cm.md"
  },
  {
   "id": "sc-tempopt",
   "name": "tempo.pt (Meteored): seven forecast pieces",
   "url": "https://www.tempo.pt/noticias/previsao/",
   "owner": "Meteored",
   "kind": "specialist-press",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.tempo.pt/aviso_legal.html",
   "terms_signals": [
    "names_automated_access_or_ai",
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:41Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-tempopt.md"
  },
  {
   "id": "sc-lusometeo",
   "name": "Luso Meteo: \"Tempestade Charles pode, afinal, ser mais fraca do que o previsto\"",
   "url": "https://lusometeo.com/atualidade/tempestade-charles-mais-fraca-32997/",
   "owner": "Luso Meteo",
   "kind": "amateur",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://lusometeo.com/termos-legais/",
   "terms_signals": [],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-lusometeo.md"
  },
  {
   "id": "sc-wikipedia-pt",
   "name": "Wikipedia (pt): \"Depressão Charles\"",
   "url": "https://pt.wikipedia.org/wiki/Depress%C3%A3o_Charles",
   "owner": "Wikimedia volunteers",
   "kind": "encyclopedia",
   "map": "storm-charles",
   "country": "International",
   "stated": null,
   "api": "MediaWiki API",
   "licence_as_we_recorded": "CC BY-SA 4.0",
   "reuse": "yes with attribution, share-alike",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:41Z",
   "seen": "json",
   "page": "research/weather-sites/sites/sc-wikipedia-pt.md"
  },
  {
   "id": "sc-wikipedia-en",
   "name": "Wikipedia (en): \"2026–27 European windstorm season\", section Storm Charles",
   "url": "https://en.wikipedia.org/wiki/2026%E2%80%9327_European_windstorm_season",
   "owner": "Wikimedia volunteers",
   "kind": "encyclopedia",
   "map": "storm-charles",
   "country": "International",
   "stated": null,
   "api": "MediaWiki API",
   "licence_as_we_recorded": "CC BY-SA 4.0",
   "reuse": "yes with attribution, share-alike",
   "terms_url": "https://en.wikipedia.org/wiki/Wikipedia:General_disclaimer",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-wikipedia-en.md"
  },
  {
   "id": "sc-euronews",
   "name": "Euronews: three pieces in English",
   "url": "https://www.euronews.com/2026/11/10/portugal-on-alert-as-storms-bruna-and-charles-raise-sting-jet-risk-of-160-kmh-winds",
   "owner": "Euronews",
   "kind": "international",
   "map": "storm-charles",
   "country": "Europe",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.euronews.com/terms-and-conditions",
   "terms_signals": null,
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-euronews.md"
  },
  {
   "id": "sc-elpais",
   "name": "El País: Bruna and Charles in Spain",
   "url": "https://elpais.com/el-tiempo/2026-11-10/las-borrascas-bruna-y-charles-ponen-bajo-aviso-rojo-por-lluvias-a-extremadura-y-castilla-y-leon.html",
   "owner": "PRISA",
   "kind": "international",
   "map": "storm-charles",
   "country": "Spain",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-elpais.md"
  },
  {
   "id": "sc-tpn",
   "name": "The Portugal News: \"Weather Alert: Portugal on Red Alert for Storm Charles\"",
   "url": "https://www.theportugalnews.com/news/2026-11-10/weather-alert-portugal-on-red-alert-for-storm-charles/1114149",
   "owner": "The Portugal News",
   "kind": "international",
   "map": "storm-charles",
   "country": "Portugal",
   "stated": null,
   "api": "none",
   "licence_as_we_recorded": "all rights reserved",
   "reuse": "short quotation with link",
   "terms_url": "https://www.theportugalnews.com/terms-and-conditions",
   "terms_signals": [
    "needs_permission",
    "names_automated_access_or_ai",
    "non_commercial_only"
   ],
   "read": "2026-11-10T23:41Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-tpn.md"
  },
  {
   "id": "sc-social",
   "name": "Open social networks: Mastodon tag #Charles",
   "url": "https://mastodon.social/tags/charles",
   "owner": "public posts",
   "kind": "social",
   "map": "storm-charles",
   "country": "International",
   "stated": null,
   "api": "Mastodon public API",
   "licence_as_we_recorded": "posts belong to their authors",
   "reuse": "link only",
   "terms_url": null,
   "terms_signals": null,
   "read": "2026-11-10T23:40Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-social.md"
  },
  {
   "id": "sc-not-covering",
   "name": "Not covering Charles when read: Met Office storm centre, BBC, Severe Weather Europe, Zoom Earth, Copernicus EMS",
   "url": "https://www.metoffice.gov.uk/weather/warnings-and-advice/uk-storm-centre/index",
   "owner": "several",
   "kind": "absent",
   "map": "storm-charles",
   "country": "International",
   "stated": null,
   "api": "n/a",
   "licence_as_we_recorded": "n/a",
   "reuse": "n/a",
   "terms_url": "https://www.metoffice.gov.uk/policies/legal",
   "terms_signals": [
    "open_licence"
   ],
   "read": "2026-11-10T23:38Z",
   "seen": "html",
   "page": "research/weather-sites/sites/sc-not-covering.md"
  }
 ]
}
