{"sources":[{"id":"awc","provider":"NOAA Aviation Weather Center","kind":"aviation_report","datasets":["data/cache/metars.cache.csv.gz","data/cache/tafs.cache.xml.gz","api/data/isigmet","api/data/airsigmet"],"use":"METAR, TAF, SIGMET","licence":"US Government public information; international reports keep their originating service's rights","licence_url":"https://aviationweather.gov/data/api/","attribution":"NOAA aviationweather.gov","auth":"none","limits":"100 requests/min, 400 entries per API call; Sky uses the bulk cache files","refresh":"METAR 5 min, TAF 10 min, SIGMET 5 min (bulk files, one fetch for all viewers)","maintainer":"Ampron (Sky)","notes":"Reports from outside the US come from their national services via WMO exchange. Shown for information, not as a briefing.","status":[{"id":"metar","state":"ok","last_ok":1794352152.739316,"last_error":null,"error":null,"since_ok_s":18,"data_age_s":151,"calls":115,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"stations":5132},{"id":"taf","state":"ok","last_ok":1794352126.7274354,"last_error":null,"error":null,"since_ok_s":44,"data_age_s":44,"calls":58,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"stations":2980},{"id":"sigmet","state":"ok","last_ok":1794352152.9197679,"last_error":null,"error":null,"since_ok_s":18,"data_age_s":18,"calls":230,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"sigmets":139,"partial":false,"kinds_ok":{"intl":true,"us":true}}]},{"id":"metno","provider":"MET Norway","kind":"forecast","datasets":["weatherapi/locationforecast/2.0/complete"],"use":"Point forecast at any place on the map, about 9 days","licence":"CC BY 4.0 (NLOD 2.0 also offered)","licence_url":"https://api.met.no/doc/TermsOfService","attribution":"Forecast \u00a9 MET Norway (CC BY 4.0)","auth":"identifying User-Agent with a contact address","limits":"honour Expires / If-Modified-Since; at most 4 decimals in coordinates; no more than 20 requests/s per application","refresh":"on request, cached per 0.05\u00b0 point until Expires, then revalidated; at most 60 upstream requests a minute","maintainer":"Ampron (Sky)","notes":"Near-surface model forecast, not the weather at cruise level.","status":[{"id":"metno","state":"stale","last_ok":1794346601.538694,"last_error":null,"error":null,"since_ok_s":5569,"data_age_s":5923,"calls":4,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":4,"hit_ratio":0.0}]},{"id":"opera","provider":"EUMETNET OPERA","kind":"radar_observation","datasets":["openradar-24h OPERA/COMP DBZH (CIRRUS maximum reflectivity, 1 km, 5 min)"],"use":"European rain radar map with a time slider","licence":"CC BY 4.0 (composite products; EUMETNET)","licence_url":"https://eumetnet.github.io/openradardata-documentation/1-ORD-API-overview/","attribution":"Radar \u00a9 EUMETNET OPERA (CC BY 4.0)","auth":"none (public S3 24-hour cache)","limits":"anonymous use; files listed and fetched once each","refresh":"listing every 150 s, each new 5-minute frame downloaded once (about 4 MB), kept 24 h","maintainer":"Ampron (Sky)","notes":"Maximum reflectivity in the column, not rain at the ground. Some national inputs are advected by Meteo France. Not every country contributes (Latvia has no radar in the composite).","status":[{"id":"opera","state":"ok","last_ok":1794352153.812601,"last_error":null,"error":null,"since_ok_s":17,"data_age_s":571,"calls":228,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"frames":287,"downloaded":7133,"last_run_s":0.5}]},{"kind":"radar_observation","auth":"none","maintainer":"Ampron (Sky)","refresh":"listing every 150 s, each new 5-minute frame downloaded once, kept 3 h","id":"natradar_fi","provider":"Finnish Meteorological Institute (FMI)","status_keys":["natradar_fi"],"datasets":["fmi-opendata-radar-geotiff finrad finland_cappi_600_dbzh_finrad_qc (GeoTIFF, 250 m, 5 min)"],"use":"Finnish national radar composite drawn over OPERA where it sees","licence":"CC BY 4.0 (FMI open data)","licence_url":"https://en.ilmatieteenlaitos.fi/open-data-licence","attribution":"Radar \u00a9 FMI (CC BY 4.0)","limits":"anonymous S3; about 0.8 MB per frame","notes":"PCAPPI at 600 m from 12 radars, not the column maximum OPERA shows: weak or high echoes can differ at the seam. Switch: fmi_radar.","status":[{"id":"natradar_fi","state":"ok","last_ok":1794352020.6163414,"last_error":null,"error":null,"since_ok_s":150,"data_age_s":571,"calls":227,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"frames":35,"downloaded":6947,"last_run_s":2.3}]},{"kind":"radar_observation","auth":"none","maintainer":"Ampron (Sky)","refresh":"listing every 150 s, each new 5-minute frame downloaded once, kept 3 h","id":"natradar_dk","provider":"Danish Meteorological Institute (DMI)","status_keys":["natradar_dk"],"datasets":["radardata/collections/composite dk.com.*.500_max.h5 (ODIM HDF5, 500 m, 5 min)"],"use":"Danish radar composite drawn over OPERA where it sees","licence":"CC BY 4.0 (DMI open data)","licence_url":"https://opendatadocs.dmi.govcloud.dk/Terms_of_Use","attribution":"Radar \u00a9 DMI (CC BY 4.0)","limits":"no key since 2025-12; about 0.15 MB per frame","notes":"Frames alternate doppler (shorter range) and full-range scans, so the covered area changes every other frame. Switch: dmi_radar.","status":[{"id":"natradar_dk","state":"ok","last_ok":1794352020.6166103,"last_error":null,"error":null,"since_ok_s":150,"data_age_s":871,"calls":227,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"frames":34,"downloaded":6950,"last_run_s":2.3}]},{"kind":"radar_observation","auth":"none","maintainer":"Ampron (Sky)","refresh":"listing every 150 s, each new 5-minute frame downloaded once, kept 3 h","id":"natradar_ee","provider":"Keskkonnaagentuur (Estonian Environment Agency)","status_keys":["natradar_ee"],"datasets":["KAIA avaandmed list 0102FB01: eehar / eesyr CAP (ODIM CVOL, 10 CAPPI levels, 694 m, 5 min)"],"use":"Harku and S\u00fcrgavere radars drawn over OPERA where they see","licence":"CC BY 4.0 per the agency (open data)","licence_url":"https://avaandmed.keskkonnaportaal.ee/","attribution":"Radar \u00a9 Keskkonnaagentuur (CC BY 4.0)","limits":"one list query per run, about 0.2 MB per radar file","notes":"Maximum over the ten CAPPI levels, then over the two radars. Reuse confirmation requested 2026-10-20. Switches: kaia_radar, kaia.","status":[{"id":"natradar_ee","state":"ok","last_ok":1794352020.616845,"last_error":null,"error":null,"since_ok_s":150,"data_age_s":871,"calls":227,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"frames":34,"downloaded":6765,"last_run_s":2.3}]},{"id":"lightning_dmi","provider":"Danish Meteorological Institute (DMI)","kind":"observation","status_keys":["lightning_dmi"],"datasets":["v2/lightningdata/collections/observation (triangulated strokes)"],"use":"Lightning layer and lightning near a place, last 60 min","licence":"CC BY 4.0 (DMI open data)","licence_url":"https://opendatadocs.dmi.govcloud.dk/Terms_of_Use","attribution":"Lightning \u00a9 DMI (CC BY 4.0)","auth":"none","limits":"no key; Sky asks every 2 min for the last few minutes","refresh":"every 2 min, 60 min kept in memory","maintainer":"Ampron (Sky)","notes":"Six Danish sensors plus neighbours'; about 90 % of ground strokes, located to 0.5-2 km. Switch: dmi_lightning.","status":[{"id":"lightning_dmi","state":"ok","last_ok":1794352149.4757266,"last_error":null,"error":null,"since_ok_s":21,"data_age_s":22,"calls":287,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"strikes":0}]},{"id":"lightning_fmi","provider":"Finnish Meteorological Institute (FMI)","kind":"observation","status_keys":["lightning_fmi"],"datasets":["WFS fmi::observations::lightning::multipointcoverage"],"use":"Lightning layer and lightning near a place, last 60 min","licence":"CC BY 4.0 (FMI open data)","licence_url":"https://en.ilmatieteenlaitos.fi/open-data-licence","attribution":"Lightning \u00a9 FMI (CC BY 4.0)","auth":"none","limits":"open WFS without a key: about 20 000 requests a day; Sky makes 720","refresh":"every 2 min, 60 min kept in memory","maintainer":"Ampron (Sky)","notes":"NORDLIS network (Nordic and Baltic sensors); query area 49.7-73.1 N, 2.3-35.7 E. Switch: fmi_lightning.","status":[{"id":"lightning_fmi","state":"ok","last_ok":1794352149.6149015,"last_error":null,"error":null,"since_ok_s":21,"data_age_s":22,"calls":287,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"strikes":3}]},{"id":"kaia","provider":"Keskkonnaagentuur (Estonian Environment Agency)","kind":"observation","datasets":["ilma_andmed/xml/observations.php (stations)","ilma_andmed/xml/hoiatus.php (warnings)"],"use":"Station observations in Estonia (temperature, wind, gusts, visibility, pressure, humidity, precipitation, weather, water) and the agency's warnings","licence":"Open data, CC BY 4.0 per the agency; reuse confirmation requested 2026-10-20","licence_url":"https://www.ilmateenistus.ee/teenused/ilmainfo/eesti-vaatlusandmed-xml/","attribution":"Observations and warnings \u00a9 Keskkonnaagentuur (CC BY 4.0)","auth":"none","limits":"none published; Sky fetches each file once every 10 min for all viewers","refresh":"observations and warnings every 10 min (no Last-Modified offered, so no conditional request)","maintainer":"Ampron (Sky)","notes":"The XML has no per-station observation time: Sky gives the 10-minute slot before it first saw the values. SKY_WX_OFF=kaia switches it off.","status_keys":["kaia_obs","kaia_warn"],"status":[{"id":"kaia_obs","state":"ok","last_ok":1794351920.4319942,"last_error":null,"error":null,"since_ok_s":250,"data_age_s":571,"calls":58,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"stations":107,"time_unknown":0},{"id":"kaia_warn","state":"ok","last_ok":1794352150.383815,"last_error":1794335802.6800144,"error":"HTTPError: HTTP Error 503: Service Unavailable","since_ok_s":21,"data_age_s":21,"calls":59,"errors":1,"error_rate":0.017,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"warnings":1}]},{"id":"dmiobs","provider":"DMI (Danish Meteorological Institute)","kind":"observation","datasets":["v2/metObs/collections/observation","v2/metObs/collections/station"],"use":"Station observations in Denmark, the Faroes and Greenland (temperature, wind, gusts, visibility, sea-level pressure, humidity, precipitation)","licence":"CC BY 4.0 (DMI open data)","licence_url":"https://opendatadocs.dmi.govcloud.dk/Terms_of_Use","attribution":"Observations \u00a9 DMI (CC BY 4.0)","auth":"none (no API key since 2025-12)","limits":"fair use; Sky makes one request for a 70-minute window every 10 min, station names once a day","refresh":"every 10 min","maintainer":"Ampron (Sky)","notes":"Latest value per station and parameter. SKY_WX_OFF=dmiobs switches it off.","status_keys":["dmi_obs"],"status":[{"id":"dmi_obs","state":"ok","last_ok":1794352025.9215314,"last_error":null,"error":null,"since_ok_s":145,"data_age_s":571,"calls":59,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"stations":167}]},{"id":"smhi","provider":"SMHI (Swedish Meteorological and Hydrological Institute)","kind":"forecast","datasets":["api/category/snow1g/version/1/geotype/point"],"use":"A second point forecast beside MET Norway's (Nordics and Baltics), never averaged","licence":"CC BY 4.0 (SMHI open data)","licence_url":"https://www.smhi.se/data/oppna-data/villkor-for-anvandning","attribution":"Forecast \u00a9 SMHI (CC BY 4.0)","auth":"none","limits":"fair use; honour Expires; Sky keeps one answer per 0.05\u00b0 point until it expires, at most 60 upstream requests a minute","refresh":"on request, cached per 0.05\u00b0 point until Expires (1 h), one request in flight per point","maintainer":"Ampron (Sky)","notes":"Outside the model grid SMHI answers 404: said as 'outside SMHI's model area'. Cloud cover arrives in octas.","status_keys":["smhi"],"status":[{"id":"smhi","state":"stale","last_ok":1794346602.1396506,"last_error":null,"error":null,"since_ok_s":5569,"data_age_s":6871,"calls":4,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":4,"hit_ratio":0.0}]},{"id":"skynow","provider":"Ampron Sky (from EUMETNET OPERA)","kind":"nowcast","datasets":["OPERA DBZH composite frames already on the server"],"use":"Rain radar 0-60 min ahead on the time bar; the point nowcast outside the Nordics","licence":"Derived from OPERA (CC BY 4.0)","licence_url":"https://eumetnet.github.io/openradardata-documentation/1-ORD-API-overview/","attribution":"Extrapolated by Sky from radar \u00a9 EUMETNET OPERA (CC BY 4.0)","auth":"none (no upstream call)","limits":"CPU: one run per new OPERA frame, under 60 s","refresh":"after each new OPERA frame (5 min)","maintainer":"Ampron (Sky)","notes":"Motion from the last 15-20 min of frames, semi-Lagrangian advection, no growth or decay: shrinking or new showers are not predicted. Places OPERA does not see stay 'no coverage'.","status_keys":["skynow"],"status":[{"id":"skynow","state":"ok","last_ok":1794352091.838039,"last_error":null,"error":null,"since_ok_s":79,"data_age_s":571,"calls":115,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"base":"20261110T2300","frames":12,"vectors":925,"median_kmh":27,"last_run_s":79.0}]},{"id":"metnow","provider":"MET Norway","kind":"nowcast","datasets":["weatherapi/nowcast/2.0/complete"],"use":"Point rain nowcast for 2 hours in the Nordics (preferred where its radar coverage is ok)","licence":"CC BY 4.0 (NLOD 2.0 also offered)","licence_url":"https://api.met.no/doc/TermsOfService","attribution":"Nowcast \u00a9 MET Norway (CC BY 4.0)","auth":"identifying User-Agent with a contact address","limits":"honour Expires / If-Modified-Since; Nordic area only (422 outside)","refresh":"on request, cached per 0.02\u00b0 point until Expires (about 3 min); at most 60 upstream requests a minute","maintainer":"Ampron (Sky)","notes":"Says radar_coverage per point: 'ok', 'temporarily reduced' or 'no coverage' (Tallinn and Riga: no coverage, 2026-10-17).","status_keys":["metnow"],"status":[{"id":"metnow","state":"stale","last_ok":1794346602.2584858,"last_error":null,"error":null,"since_ok_s":5569,"data_age_s":5844,"calls":4,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":4,"hit_ratio":0.0}]},{"id":"kaianow","provider":"Keskkonnaagentuur (Estonian Environment Agency)","kind":"nowcast","datasets":["ilmgs.envir.ee/geoserver ilm:nowcasting (WMS / WCS), the layer of ilmateenistus.ee/ilm/ilmavaatlused/radar"],"use":"Point rain nowcast inside Estonia (preferred there over Sky's extrapolation)","licence":"Open data per the agency; reuse confirmation requested 2026-10-20","licence_url":"https://www.ilmateenistus.ee/","attribution":"Nowcast \u00a9 Keskkonnaagentuur","auth":"none","limits":"no stated limits; fetched only while places in Estonia are being asked about (capabilities every 150 s, each frame once, 18 kB)","refresh":"every 150 s while in use; 18 frames of 5 min per run","maintainer":"Ampron (Sky)","notes":"Values appear to be rain rate in mm/h (map classes 0.1, 0.3, 0.5, 1, 2 ...), not documented; issue time inferred as 90 min before the last frame. Found on the agency's own radar page; no app decompiled. Switch: kaianow.","status_keys":["kaianow"],"status":[{"id":"kaianow","state":"stale","last_ok":1794346501.3158972,"last_error":null,"error":null,"since_ok_s":5670,"data_age_s":5971,"calls":516,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":0,"cache_misses":0,"hit_ratio":null,"frames":18,"fetched":18}]},{"id":"aloft","provider":"ECMWF","kind":"forecast","datasets":["IFS HRES 0.25\u00b0 oper fc (open data): u, v, t on 925-100 hPa, surface pressure; steps 0-24 h of the 00Z and 12Z runs"],"use":"Winds and temperature aloft by flight level: Weather here, the selected aircraft, the Winds aloft map layer","licence":"CC BY 4.0 (ECMWF open data)","licence_url":"https://www.ecmwf.int/en/forecasts/datasets/open-data","attribution":"Model \u00a9 ECMWF (CC BY 4.0)","auth":"none","limits":"anonymous; HTTP Range from each file's .index, about 185 MB a run; Sky's own budget 400 MB a day","refresh":"checked every 15 min; each new 00Z / 12Z run downloaded once when all steps are out (about 7-8 h after the run time)","maintainer":"Ampron (Sky)","notes":"Model output, not measurements. Flight levels as ISA pressure altitudes. Kept: the newest run and the one before.","status_keys":["aloft"],"status":[{"id":"aloft","state":"ok","last_ok":1794352073.5230777,"last_error":null,"error":null,"since_ok_s":97,"data_age_s":40171,"calls":39,"errors":0,"error_rate":0.0,"not_modified":0,"throttled":0,"cache_hits":173,"cache_misses":0,"hit_ratio":1.0,"run":"2026111012","runs":["2026111012","2026111000"],"bytes_today":262644324,"available":"2026111012"}]}],"at":"2026-11-10T23:09:30Z","kinds":{"aviation_report":"an official observation or forecast for one airport (METAR, TAF)","alert":"a warning with an area and validity (SIGMET)","forecast":"a numerical weather prediction for a place and time","radar_observation":"what the radars measured at a scan time"}}