The method behind the Situation Monitor · panopt.online
The Situation Monitor has 38 layers: satellite and radar instruments, aircraft and ship broadcasts, network probes, official lists, and the reporting they are read against. Each is described below as it runs: what it measures, how often, how, and what it cannot see. Who supplies each source, and under what licence, is on sources and licences. How the aircraft and GNSS data are derived from adsb.lol is set out under Aircraft data (adsb.lol, ODbL).
Headlines are scored again from 8 Oct 2026; nothing on this page depends on it. What is running now is on the status page.
Five rules for reading it
Every reading carries a grade. Measured (an instrument saw it), Official (a government published it), Reported (a news wire), Claimed (a party to the conflict), Indicated (a proxy). The grade comes before the reading.
Plain mode explains; Analyst mode shows the numbers. In the Monitor, Plain mode says what a reading can mean and Analyst mode shows the counts, medians and ranges behind it. Dotted terms carry their meaning.
Blind is not quiet. Where an instrument cannot see, the page says so. A blank is never a clean reading.
Absence is not disproof. Strike aircraft fly dark, cloud hides fires, and no one reports from everywhere.
Nothing here is advice. The page describes the world; what to do about it is yours.
Evidence grades
Every reading says how it is known.
Grade
Meaning
A · Measured
An instrument recorded it. The doubt is in what it means, not whether it happened.
B · Official
Published by a government or intergovernmental body. Reliable about what was decided or noticed; not proof of what is true on the ground.
C · Reported
Said by a news wire or several independent desks. Usually right; sometimes early, sometimes wrong.
D · Claimed
Said by a party to the conflict or a single account. Treat as a claim until something measured or official agrees.
E · Indicated
A proxy that points at something without observing it directly, or an inference from a pattern. Useful for attention, never for fact.
Fire radiative power (heat) from NASA's VIIRS satellites summed inside each watched refinery, terminal, field, plant or pipeline corridor, judged against the site's own recent median and range.
How often
read every 15 min as NASA posts each pass (about hourly); a day is complete 6 h after midnight UTC
How
The public FIRMS detection files, binned to sites by distance; a week of history is fetched whenever a site is short of a baseline.
What it cannot see
Cloud hides fires. A cold site can be a shutdown or a week of overcast. A pipeline corridor is 24,000 km² of desert and farms, so only new heat on the line is called. A plant never seen hot is a pin problem until shown otherwise.
Fire radiative power from Meteosat's SEVIRI over the Indian Ocean (45.5 E), every 15 minutes, inside each watched site and pipeline corridor it can see. A large fire is timed to the quarter hour, where VIIRS passes a site a few times a day.
How often
every 15 min; each slot lands about 35 min after it
How
LSA SAF's FRP-PIXEL fire list for the MSG-IODC disk, matched to each target by the satellite's own pixel grid. A new fire is a target quiet for a day, then lit at 50 MW or more in two of three consecutive slots. A single slot of 100 MW or more at a plant, three times its normal (the higher of its own usual slots and the hottest day VIIRS recorded there in the two weeks before), backs a report or a Strike Ledger claim naming that plant, worded as one look; it never raises an alert of its own.
What it cannot see
Pixels are 3 km at best and need tens of megawatts to register, so small flares and small fires do not show. The product never processes sea, inland water or wetland pixels, so coastal terminals (Ras Tanura, Kharg, Jubail) and riverside refineries are listed as not covered, never as quiet. Cloud hides fires.
Fire radiative power from the FCI imager on Meteosat-12 (MTG), over the whole disk every 10 minutes at 1 km, inside each watched site and pipeline corridor it can see. Pixels that small register fires of a few megawatts, where Meteosat over the Indian Ocean needs tens.
How often
every 10 min; each slot lands about 17 min after it
How
LSA SAF's MTG FRP-PIXEL fire list (LSA-509), matched to each site by the pixel's own position, at least 3 km around a site's pin. A new fire is a site below its threshold for six hours, then lit for three ten-minute looks at or above the larger of 20 MW and three times its usual heat (its 95th percentile over the week before), so a flaring field needs a fire far above its flaring. A single look of 100 MW or more, three times the plant's normal (its own usual looks or VIIRS's hottest day there in the two weeks before, whichever is higher), backs a report or a Strike Ledger claim naming the plant, worded as one look, never an alert of its own.
What it cannot see
It cannot see the Urals and beyond (Salavat, Ufa, Orenburg: Meteosat over the Indian Ocean can), nor pixels its mask calls sea, so offshore terminals (Ras Tanura, Kharg, the Basra terminal) are listed as not covered, never as quiet. Cloud and thick smoke hide fires. A demonstration product under validation; heat along a pipeline's corridor is kept for Confirm, never raised.
Fire radiative power from SLSTR on Sentinel-3A and 3B at 1 km, over every watched plant, on passes near 10:00 and 22:00 local time: hours the VIIRS passes do not cover.
How often
checked every 30 min; each pass lands 1 to 3 h after it
How
EUMETSAT's near-real-time FRP fire list for each pass, matched to each plant's circle. A large new fire is at least 30 MW over two pixels, three times the plant's own Sentinel-3 normal over the two weeks before.
What it cannot see
The fire list says nothing about cloud, so no fire on a pass is never read as quiet. Small flares need tens of megawatts to show at 1 km. It alerts only at plants Meteosat cannot see; elsewhere it backs reports without a second alert for one fire.
Licence
Contains modified Copernicus Sentinel data, processed by EUMETSAT; free and open · source details
Fires from NASA's MODIS, at the hours VIIRS misses
A · Measured
What it measures
Fire radiative power from MODIS on NASA's Terra and Aqua at 1 km, over every watched plant, on passes near 03:00-04:30, 08:30-10:00, 14:00-16:00 and 19:00-21:00 local time: the hours between the VIIRS passes, when a night strike's fire can burn out unseen.
How often
read every 15 min as NASA posts each pass; a pass lands about 3 h after it
How
NASA FIRMS's public MODIS near-real-time file, matched to each plant's circle and judged against the plant's own MODIS normal, its highest day in the two weeks before. A large new fire is at least 30 MW over two pixels, three times that normal.
What it cannot see
1 km pixels see less than VIIRS, and a pass with no fire is never read as quiet (cloud). It alerts only as the first look, where no other PANOPT satellite has raised the plant in the day and a half before; otherwise it backs reports. Terra and Aqua are old and drifting; when NASA stops them the file stops changing and the sensor says so.
Licence
NASA FIRMS, public domain; NASA asks that its use be acknowledged · source details
Oil fields' flares going dark
A · Measured
What it measures
Whether a watched oil field's gas flares, lit night after night, have gone dark under a clear sky, and when they light again. A field that stops producing stops flaring, and a shutdown is often reported hours late.
How often
every 10 min with MTG's slots; VIIRS's passes land about 3 h after them
How
MTG (Meteosat-12, every 10 minutes at 1 km) at night: a field lit in 80% or more of its night hours over the last 30 days, then dark for more night hours than any run in its month before (four at least, twelve at most), is checked against MTG's own quality map for those looks, read only then: it needs six looks with the sky over the flares clear and none of them lit. A VIIRS pass that recorded half the field's usual flaring inside the dark spell means the flares burned, and stops it or corrects it. Flares too small for MTG to see steadily are read on VIIRS's own days instead: lit on 27 of 30, dark on the last two, with MTG's map clear at the hours VIIRS sees them. The flares back are read when MTG sees them in three of six looks, or VIIRS sees them again.
What it cannot see
A fall, never proof of a shutdown: planned work, a cut in flaring and gas sent to re-injection or a pipeline darken flares too. MTG's cloud mask is tuned never to hide a fire, so it can call thin cloud or dust clear. MTG sees flares far better by night, so a field that stops by day is read from nightfall. MTG cannot see beyond about 75 degrees from its sub-point (Karachaganak, the Urals): no sky check there, so no reading.
The sulphur dioxide column over each watched plant from TROPOMI on Sentinel-5P, at about 5 km: a refinery, gas plant or tank farm on fire puts SO2 in the air.
How often
checked hourly; each day lands about 3 h after the early-afternoon pass
How
The day's highest column within 25 km of the plant against its own 90th-percentile day over the month before. A plume is twice that, at 4 Dobson units or more, on three pixels or more.
What it cannot see
The retrieval is noisy, and power plants, smelters and volcanoes emit SO2 too, so a plume is a reading for the Monitor tab and evidence beside a report, never an alert and never corroboration on its own. Cloud leaves no reading.
Licence
Contains modified Copernicus Sentinel data; free and open · source details
Hormuz crossings, estimated
E · Indicated
What it measures
Crossings a day through the Strait of Hormuz, estimated from Sentinel-1 radar snapshots: every hull, AIS or not, warships included.
How often
with every ledger build; the last 30 days and each month of the war
How
Large hulls on each pass, less those in the same spot a day and a half earlier (waiting, not crossing), turned into crossings with 2025's ratio against the published pre-war counts, then scaled down by a correction measured at Bab el-Mandeb, where trackers see well. 4,000 recalculations give the range.
What it cannot see
A model, not a count. It cannot tell a crossing tanker from a patrolling warship; the war correction comes from another strait; the smallest hull counted moves the answer most, and a measured floor (Lloyd's List's AIS count of some of the same ships) is what fixes it.
Licence
PANOPT, CC BY 4.0. Contains modified Copernicus Sentinel data · source details
Night fires
A · Measured
What it measures
VIIRS detections at night per quarter-degree cell against the cell's own median. Shelling, strikes and burning villages show at night; fields burn by day.
How often
as each night pass lands, about 3 h after it
How
Same FIRMS files, binned to a grid by day and night. A cell surges when it has at least 5 night fires and either three times its own median count, or 100 MW of night fire and ten times its usual heat; surging cells within half a degree of the hottest are one alert, named for it. A night's count reads "so far" until its last pass has landed. An alert raised early in the night is raised once more if its night fires grow to three times their heat, or if more fires at night take it past the main feed's floor near a watched plant; day fires alone never raise it again. An alert no watched plant is near is named for the oil or gas site OpenStreetMap maps within 10 km of its hottest fire, if any, and says the site is not watched; it stays in the Monitor tab.
What it cannot see
Gas flares and industrial heat register every night; the median absorbs them. Fires inside a watched plant's circle are left to that plant's own record. Peat and forest fires dominate globally, so only theatre cells are raised. A mapped site near a fire names the place, not what burned: the map can be out of date, and a field fire can burn beside a depot.
The latest cloud-free Sentinel-2 image of each watched site at 10 m, plus the hot pixels the fire measure (Fires at 20 m) found inside the plant on the same pass, against the plant's usual count.
How often
every 3 h check; a new clear view every 2–5 days
How
The newest Sentinel-2 scene with the site itself clear, from Element 84's Earth Search catalogue (Microsoft Planetary Computer is only a cross-check).
What it cannot see
Ten metres shows tanks, jetties and large aircraft, not people or trucks. Cloud can delay a view for a week.
Licence
Contains modified Copernicus Sentinel data · source details
Fires at 20 m
A · Measured
What it measures
Hot pixels in Sentinel-2's short-wave infrared at 20 m inside each watched plant's circle, on every pass that sees it, judged against the plant's own flares on its passes in the 60 days before, so a fire is placed inside the plant: the unit, the tank farm, the jetty.
How often
every Sentinel-2 pass over a watched plant, every 2–5 days at about 10:30 local time; read with the site photographs, a few hours after the pass
How
A pixel is hot when band 12 (2.2 µm) is at least 1.4 times band 11 (1.6 µm) and band 8A (0.86 µm), and at least 0.15 reflectance (Murphy and others, 2016, written as normalised hot-spot indices after Marchese and others, 2019); hotter pixels touching it join it. The plant's usual heat is every pixel hot on its passes in the 60 days before, widened 40 m. A new fire is a patch of 16 new hot pixels or more, or 40 in patches of four or more, judged only once four passes before it saw half the plant. A pass up to 36 hours after a report of a strike at the plant is read for it, and the Strike Ledger prints the fire's hot pixels and the pass's time where no instrument that measures megawatts recorded heat.
What it cannot see
One look every 2–5 days: a night fire out by morning leaves nothing on the pass, and a pass that saw less than 70% of the plant is never read as quiet. Cloud hides fires; smoke does not, so the scene classification's cloud is not used to mask hot pixels (it called parts of real fires cloud and shadow). A fire smaller than the plant's own flares vary, or at a flare stack, is missed. It measures no megawatts and cannot say what burned or why. A plant is judged from its fifth measured pass.
Licence
Contains modified Copernicus Sentinel data · source details
Radar ship counts
A · Measured
What it measures
Vessel-sized radar returns in open water at chokepoints and anchorages, counted on every Sentinel-1 pass and compared with the area's own median.
How often
every pass, typically every 1–3 days
How
Sentinel-1 terrain-corrected scenes; fixed platforms and long-anchored hulls learned and excluded; a call needs two consecutive full passes. Each pass's land is also read coarsely and held against the same satellite track's earlier passes: a pass more than 2 dB brighter there is radio interference, and is not counted.
What it cannot see
Counts hulls, not identities or cargo. A ship at anchor and a ship transiting look the same. Radar sees through cloud and at night. Ground radio interference can swamp a pass (10 of Taman's 20 passes in June–August 2026): such a pass reads not measured, never as few hulls, and a pass the land test cannot check is counted as before. Sea ice can read as hulls, so in the Gulf of Finland (Primorsk, Ust-Luga) passes from 1 December to 30 April are shown but never judged.
Licence
Contains modified Copernicus Sentinel data; Sentinel-1 RTC by Catalyst, CC BY 4.0 · source details
Oil terminals from radar
A · Measured
What it measures
Large hulls, radar returns of 3 or more pixels (each about 40 m square), in open water in the waters of 14 oil export terminals at the moment of each pass, set against each terminal's own 2025 and the years before.
How often
every Sentinel-1 pass over a terminal, typically every 1–3 days; off Venezuela every week or two
How
Each terminal's radar box, or for Taman and Port Kavkaz its part of the Kerch Strait box, counted by the radar table's rule: anything in one spot for most of six weeks set aside, full passes only. The seven days' median against the terminal's 2025 median and the middle half of its passes, and each earlier year's median where the archive holds 20 judged passes; a 2025 whose judged passes fall in fewer than 9 of its months gives no normal.
What it cannot see
A count of hulls, not of barrels or cargo: more hulls can be tankers loading or tankers waiting, and radar does not say whose a hull is. Berths within 1.5 km of the shore are inside the radar's coastal mask and not counted, and a box also holds lanes and ships passing. The boxes added on 16 Oct 2026 (Primorsk, Ust-Luga, Tuapse, Sidi Kerir, Jose) have no history until the archive is read back. In the Gulf of Finland sea ice most winters can read as hulls: Primorsk's and Ust-Luga's passes from 1 December to 30 April are counted and marked, set against no normal, and their normals are taken from May to November. A pass swamped by radio interference reads not measured and is never counted.
Licence
Contains modified Copernicus Sentinel data; Sentinel-1 RTC by Catalyst, CC BY 4.0 (the archive to October 2026) · source details
Town control
C · Reported
What it measures
Who holds which settlement in each war, as Wikipedia's conflict map editors judge it from the reporting they cite.
How often
every 6 h
How
The map modules are read as data: a dot per settlement with its colour and the module's own legend; a colour change since the last read becomes a finding.
What it cannot see
Editors' judgement, not a measurement; timeliness varies by map and the revision date is shown. No line is drawn: the front is where colours meet. Small hamlets are omitted from the page.
Licence
Wikipedia, CC BY-SA 4.0 (attribution on the layer and every card) · source details
Wire lane (unscored)
D · Claimed
What it measures
What the wire PANOPT reads (GDELT's news index, government and official feeds) carried, grouped into stories by headline, each report listed with its outlet, time and link.
How often
every 5 min, published only while scoring is offline
How
A separate process reads PANOPT's wire log, keeps items that pass the headline filter and name a commodity, shipping term or watched theatre, and groups headlines that share most of their words within 12 hours (different figures, dates or opposite verbs never group). A copy of the same headline and a report citing another outlet are marked.
What it cannot see
No model reads these: no urgency, importance, direction or confirmation. Headline grouping splits some stories and merges a few; the number of reports is not corroboration, since syndicated copy and echoes of one report are common. A word filter decides relevance, so some off-topic items get in and some on-topic ones do not (rejections are logged).
Licence
Headlines and links as published by each outlet · source details
OSINT desks (Bluesky)
D · Claimed
What it measures
Posts from watched desks on Bluesky: conflict researchers and open-source investigators, naval and maritime analysts, shipping and oil-market analysts, and regional news desks. Each post carries its author's handle and a link to the original. Commercial headline services are not carried without their written permission.
How often
every 10 min
How
Bluesky's public AppView, no key; reposts, replies and moderated posts dropped; every held post re-checked each run and withheld if it could not be; deleted or pulled posts are also redacted from the feed and the wire log; each post tagged to situations and placed by the monitor's geocoder, explicit coordinates first.
What it cannot see
Each post is its author's claim. Most X OSINT accounts have no genuine Bluesky presence, so coverage differs from the X list. Telegram was ruled out: its terms forbid reading channels this way.
Licence
Bluesky public API; authors keep their rights; attributed and linked · source details
Optical ship counts
A · Measured
What it measures
Ships on clear water in five sea boxes (Hormuz lanes and southern approach, Fujairah anchorage, Kharg loading waters, Bab el-Mandeb), counted between radar passes.
How often
every clear Sentinel-2 pass, about every 2–5 days
How
Band 8 (near infrared, 10 m) on a fixed lon/lat grid; hulls are compact objects brighter than the local water; cloud and its margin cut out; returns in the same place on most passes removed as structures.
What it cannot see
Only clear days count. No identity, cargo or heading; anchored and moving ships look the same; thin cloud and sun glint can hide or fake a hull, so a count is compared only with the box's own history.
Licence
Contains modified Copernicus Sentinel data · source details
Radar hulls with no AIS
A · Measured
What it measures
Bright radar returns (3 or more pixels, each about 40 m square) that no AIS transponder heard by PANOPT accounts for at the moment of the pass.
How often
every radar pass where PANOPT hears AIS well
How
Every Class A and Class B AIS vessel in the counted water is dead-reckoned to the pass instant and paired with the nearest radar hull. A box is judged only when the recorder was running, at least five AIS vessels are there, half of them line up, and AIS explains at least half of the hulls; otherwise the card says which of those failed.
What it cannot see
A leftover hull is 'no transponder heard', not proof of a dark ship: receivers have gaps. Pixel size is not calibrated to hull length. The free AIS feed PANOPT uses is heard mainly off Cyprus, Israel, the Aegean and Trinidad, so only the Haifa and Ashkelon boxes can be judged; the Gulf, Red Sea and Black Sea boxes read AIS-blind and nothing is called there.
Licence
Contains modified Copernicus Sentinel data; Sentinel-1 RTC by Catalyst, CC BY 4.0; AIS from aisstream.io (no published licence) · source details
Ship density
A · Measured
What it measures
Where ships were: every radar detection in the watched waters over two weeks on a 2 km grid, as detections per pass.
How often
rebuilt every 15 min from the last 14 days of radar passes
How
The same Sentinel-1 detections the counts use, accumulated across passes; cells lit in most passes are structures and are removed.
What it cannot see
Positions without identity, cargo or heading; a lane looks the same whether ships are transiting or queuing. A pass every 1–3 days, so a single day's movement is invisible. Only the watched areas are covered.
Licence
Contains modified Copernicus Sentinel data; Sentinel-1 RTC by Catalyst, CC BY 4.0 · source details
Sanctioned tankers
A · Measured
What it measures
Designated tankers from the OFAC, UK and EU lists matched on AIS by IMO number, with identity changes and going dark.
How often
live AIS stream, summarised every 10 min
How
aisstream.io terrestrial AIS against the merged watchlist of 1,288 hulls.
What it cannot see
Terrestrial AIS has almost no receivers in the Persian Gulf or Red Sea: a blank there is blindness, not calm. 'Dark' is only called where surrounding traffic kept reporting. No position or track is shown: aisstream.io publishes no terms or data licence, so the layer gives counts per theatre, identity changes and hulls going dark only.
Licence
aisstream.io (no published licence); sanctions lists as published · source details
Military air
A · Measured
What it measures
Military aircraft broadcasting ADS-B over the theatres, with the state of registry from the address block, the mission from the type, and whether the track is holding on station.
How often
every 10 min
How
adsb.lol's military feed; per-airframe track kept for three hours.
What it cannot see
Only aircraft with transponders on. Strike packages fly dark. Coverage depends on volunteer receivers: thin over Iran's interior, Sudan and the open sea.
The share of aircraft within 250 NM of each sample point reporting degraded navigation integrity, and how many aircraft of any kind are in the sky against the same hour on other days.
How often
every 30 min
How
Every ADS-B position carries the aircraft's own bound on its GPS error; jamming and spoofing push many aircraft to low integrity at once.
What it cannot see
A geomagnetic storm degrades GPS everywhere; the space-weather sensor suppresses interference language during one. No receivers means no reading, not a clean one.
Whether the share of aircraft reporting degraded satellite navigation over an area is far above that area's usual share for the same hour: the jumps that come with jamming and spoofing, set apart from the background some regions always show.
How often
every 30 min, as the GPS integrity samples land
How
Each sample point's worst look of the hour against the median of the same UTC hour over the 14 days before, counting only hours with at least 10 aircraft reporting; five such days are needed. Far above: at least 10 aircraft reporting, 5 of them degraded, a share three times the usual (a usual under 2% counts as 2%) and 15 points above it. The Jordan and Cyprus points, whose circles overlap and jump together, are one area, the Levant and Cyprus, where a jump must last two hours in a row: a single hour is logged, not raised. An area gets one reading in six hours unless the jump grows half as big again; each says what was measured, against what normal and what else produces it, with NOAA's K-index around the hour. The northern Gulf's readings go to the main feed, the other areas' to the Monitor activity tab; during a geomagnetic storm, or a jump over three areas at once, all go to the tab.
What it cannot see
Only aircraft that adsb.lol's volunteer receivers hear: Iran's interior, central Iraq, most of the Red Sea and eastern Ukraine have none to read, and Odesa usually too few. A receiver joining or leaving, a few aircraft with poor equipment, a geomagnetic storm or a fault in the feed can each make a jump; the reading names the ones it can check. It cannot tell jamming from spoofing, or say where exactly or by whom.
Human-verified conflict events with deaths per theatre and month, from Uppsala's candidate events.
How often
monthly, a month behind by design
How
UCDP monthly download files.
What it cannot see
A month behind; period tallies are spread across the days they cover so a months-long death toll cannot fake a spike.
Licence
Uppsala Conflict Data Program, CC BY 4.0; cite Hegre, Croicu, Eck and Högbladh (2020), Introducing the UCDP Candidate Events Dataset, Research & Politics · source details
New and removed designations on the UK and EU lists, and the vessels they name. UN Security Council designations arrive through them; the UN's own list is not read.
How often
every 6 h
How
FCDO CSV, EU files and the consolidated Annex XLII text, diffed.
What it cannot see
A designation is a legal act, not evidence of what a vessel is doing.
Licence
UK list: contains public sector information licensed under the Open Government Licence v3.0; EU lists under the European Commission reuse notice · source details
US petroleum stocks
B · Official
What it measures
Strategic Petroleum Reserve, commercial crude, Cushing, refinery utilisation, imports and exports from the EIA's weekly report.
How often
weekly, Wednesdays
How
The report's public CSV tables.
What it cannot see
Weekly and US-only; a week older than 12 days is shown stale.
Crude stocks, production, exports and refinery intake reported by 27 countries, with JODI's own quality code.
How often
monthly, two months behind
How
The JODI-Oil primary database file.
What it cannot see
Iran, Kuwait, Qatar, China, Egypt and Libya do not report stocks. Two months old by design.
Licence
JODI asks to be cited as "International Energy Forum (IEF), JODI Oil World Database, www.jodidata.org"; JODI figures stay out of paid data files until JODI gives permission · source details
Airbases from orbit
A · Measured
What it measures
Aircraft-sized changes on the aprons of 18 bases: what differs from the base's own usual picture, counted and judged against the base's own history.
How often
every clear Sentinel-2 pass, every 2–5 days
How
Each clear 10 m Sentinel-2 pass is compared with the pixel-wise median of the base's earlier clear passes; changes of 40–75 m across, strong, compact and on smooth tarmac are counted. Buildings, markings and parked hulks cancel out; changes among buildings are not counted.
What it cannot see
No type, no airworthiness, nothing in a shelter. Fighters are too small. Shadows, wet ground and construction count as change. Five clear passes are needed before any number is shown.
Licence
Contains modified Copernicus Sentinel data · source details
Public attention
E · Indicated
What it measures
Readership of 27 Wikipedia articles about watched places and actors against each article's own two-week median.
How often
daily, a day behind
How
Wikimedia's page-view API.
What it cannot see
Measures who is looking, not what happened. A spike follows news as often as it precedes it.
The Military air, GPS integrity and GPS interference readings are derived from adsb.lol's ADS-B data, which adsb.lol makes available under the Open Database License 1.0 (ODbL). Section 4.6 of the ODbL asks anyone who publicly uses a database derived from it to publish, free, how that database was made. This is that description. It is written from the code that runs (adsb_watch.py, air_registry.py and gnss_watch.py) each time this page is built, so every number below is the one the code uses.
What is read
The military feed, https://api.adsb.lol/v2/mil: every aircraft adsb.lol's own database flags as military, worldwide, read every 10 minutes.
Point queries, https://api.adsb.lol/v2/point/{lat}/{lon}/250: every aircraft, civil or military, within 250 NM of each GNSS sample point below, read every 30 minutes, the queries 4 seconds apart.
Theatre boxes and GNSS sample points
An aircraft is kept only when its reported position lies inside one of these boxes (edges in degrees of longitude and latitude, negative west and south). Where boxes overlap, the box listed first wins. The sample points are the centres of the point queries, latitude then longitude.
Theatre
West
South
East
North
GNSS sample points
Persian Gulf & Hormuz
44
22
62
32
29, 49; 26.3, 55.5
Iran (interior)
44
32
62
40
35, 51
Levant & Iraq
34
29
49
37.5
31.8, 36.5; 33.3, 44.2
Red Sea, Yemen & Gulf of Aden
32
10
52
30
15, 43; 21.5, 38.8; 27.5, 34.5
Black Sea & Ukraine
27
43
41
53
46.5, 31.5; 49, 37
Eastern Mediterranean
24
30
36
38
34.5, 33
Sudan & Darfur
21.5
8.5
32
23
15.5, 32.5; 13.6, 25.3
Horn of Africa
36
-2
52
10
2, 45.3; 9, 38.7
Sahel
-6
10
16
20
12.6, -8; 13.5, 2.1
Eastern DRC & Great Lakes
24
-6
32
5
-1.7, 29.2
South Caucasus
40
38
50
44
40.2, 44.5; 40.4, 49.9
India–Pakistan frontier
60
23
80
37
34.1, 74.8; 31.5, 74.4
Myanmar
92
9
102
29
16.9, 96.2; 22, 96.1
South China Sea
105
4
121
21
15.2, 117.8; 10, 114
Taiwan Strait
116
21
125
27
24.5, 119.5; 23, 121
Korean Peninsula
124
33
131
43
38.5, 126.5
Venezuela & the southern Caribbean
-74
0
-59
13
10.5, -66.9; 11.5, -70
Military filter
Only aircraft on adsb.lol's military list are read: the classification is the feed's own, not PANOPT's. Entries without a position are dropped, and so are entries whose type code is GND, SERV, TWR: ground stations and towers that carry a military flag. Each aircraft kept is given a role from its ICAO type designator by the table below; a designator the table does not list is unknown. Only the signal roles (tanker, ISR, bomber, fighter, airlift, tanker or ISR) count toward a theatre's activity: they are the aircraft whose presence says something about operations.
Aircraft roles, in full
371 ICAO type designators in 11 roles. A designator listed under two roles takes the first. The mission shown for an aircraft is the role's, or the finer one for its type below.
The registry state is read from the aircraft's 24-bit ICAO address by the blocks ICAO Annex 10 allocates to states: the state the airframe is registered in, not necessarily who is flying it.
Address block (hex)
State
A00000–AFFFFF
United States
C00000–C3FFFF
Canada
400000–43FFFF
United Kingdom
380000–3BFFFF
France
3C0000–3FFFFF
Germany
300000–33FFFF
Italy
340000–37FFFF
Spain
480000–487FFF
Netherlands
448000–44FFFF
Belgium
488000–48FFFF
Poland
468000–46FFFF
Greece
4B8000–4BFFFF
Turkey
4A8000–4AFFFF
Sweden
478000–47FFFF
Norway
458000–45FFFF
Denmark
460000–467FFF
Finland
4B0000–4B7FFF
Switzerland
440000–447FFF
Austria
490000–497FFF
Portugal
498000–49FFFF
Czech Republic
4A0000–4A7FFF
Romania
4C0000–4C7FFF
Hungary
470000–477FFF
Bulgaria
4C8000–4CFFFF
Croatia
500000–507FFF
Slovakia
508000–50FFFF
Ukraine
510000–5103FF
Belarus
140000–17FFFF
Russia
738000–73FFFF
Israel
740000–747FFF
Jordan
748000–74FFFF
Lebanon
778000–77FFFF
Syria
728000–72FFFF
Iraq
730000–737FFF
Iran
710000–717FFF
Saudi Arabia
896000–896FFF
United Arab Emirates
06A000–06AFFF
Qatar
706000–706FFF
Kuwait
894000–894FFF
Bahrain
70C000–70C0FF
Oman
890000–890FFF
Yemen
010000–017FFF
Egypt
018000–01FFFF
Libya
020000–027FFF
Algeria
02A000–02AFFF
Morocco
03E000–03EFFF
Tunisia
040000–040FFF
Ethiopia
07C000–07CFFF
Sudan
078000–078FFF
Somalia
04C000–04CFFF
Kenya
088000–088FFF
Djibouti
0A0000–0A7FFF
Nigeria
09A000–09AFFF
Senegal
05C000–05CFFF
Mali
09C000–09CFFF
Niger
0A8000–0A8FFF
Burkina Faso
084000–084FFF
Chad
08C000–08CFFF
DR Congo
06E000–06EFFF
Rwanda
068000–068FFF
Uganda
008000–00FFFF
South Africa
600000–6003FF
Azerbaijan
600800–600BFF
Armenia
514000–5143FF
Georgia
601800–601BFF
Kazakhstan
700000–700FFF
Afghanistan
760000–767FFF
Pakistan
800000–83FFFF
India
780000–7BFFFF
China
899000–8993FF
Taiwan
840000–87FFFF
Japan
718000–71FFFF
South Korea
720000–727FFF
North Korea
700800–700BFF
Bangladesh
704000–704FFF
Myanmar
880000–887FFF
Thailand
888000–88FFFF
Vietnam
758000–75FFFF
Philippines
75C000–75FFFF
Malaysia
76C000–76CFFF
Singapore
8A0000–8A7FFF
Indonesia
7C0000–7FFFFF
Australia
C80000–C87FFF
New Zealand
0D0000–0D7FFF
Venezuela
0AC000–0ACFFF
Colombia
E80000–E80FFF
Peru
E40000–E7FFFF
Brazil
E00000–E3FFFF
Argentina
0D8000–0DFFFF
Mexico
0B0000–0B0FFF
Cuba
On station, and what else an aircraft is doing
Each aircraft's phase is read from its vector and its recent track:
Low and slow (tested first): below 4,000 ft and under 220 kt, consistent with an approach, a departure or a low-level task.
On station: the track spans at least 30 minutes with at least 3 positions, and every position lies within a box 0.7° on a side in latitude and longitude (about 42 NM): a refuelling track or a surveillance orbit, inferred from the track alone.
Transit: a track of at least 20 minutes that is not holding.
Seen: not enough track yet to tell holding from passing.
A hold by a tanker, ISR or bomber aircraft is kept as one record per airframe and hold, with the minutes held; the same airframe holding again after a gap of more than 2 hours opens a new record. A hold is raised as a finding once it reaches 20 minutes for a tanker and 30 minutes for the others.
Each pass counts a theatre's signal-role aircraft, and the hourly count is kept for 14 days. A theatre is compared with the median of its earlier hours, once 48 hours are recorded; until then it reads as building its baseline.
Tracks, and how long anything is kept
Each airframe's positions: at most one a minute, kept for 3 hours; the Monitor shows the last 24. An airframe not seen for that long is dropped.
Holds and theatre-activity records: 48 hours after they were last seen.
Hourly theatre counts, each sample point's hourly worst GNSS reading and its hourly traffic count: 14 days.
Navigation integrity (GNSS) and air traffic
Every ADS-B position carries a Navigation Integrity Category (NIC): the aircraft's own bound on its GPS error. Around each sample point, the aircraft reporting a NIC are counted; degraded is NIC 6 or below, lost is NIC 0. A point is flagged when at least 10% of the aircraft reporting are degraded, at least 2 of them are, and at least 8 aircraft report, so one faulty transponder is never a jammed region. No aircraft reporting is no coverage; fewer than 8 is thin coverage. A flag reads "consistent with GNSS interference", never as attribution.
The same reply counts aircraft of any kind against the same UTC hour on other days, once 3 days of that hour are recorded: emptied at 35% or less of a same-hour median of at least 15; heavy at 2 times or more of a median of at least 5.
Far above its usual (the GPS interference readings): a point's worst look of an hour is set against the median share of the same UTC hour over the 14 days before, counting only hours with at least 10 aircraft reporting, once 5 such days exist. It is far above when at least 10 aircraft report, at least 5 of them degraded, and the share is at least 3 times the usual (a usual below 2% counts as 2%) and 15 percentage points above it; elevated hours no more than 2 hours apart are one episode. Sample points whose circles overlap and jump together are read as one area: the Levant and Cyprus (31.8,36.5 and 34.5,33.0). Over the Levant and Cyprus a jump counts only when the hour before or the hour after jumped too; a single hour is logged, not raised. A reading says when NOAA's planetary K-index was 5 or more around the hour (a geomagnetic storm, which degrades satellite navigation by itself).
The sample points are listed with the theatre boxes above.
What is published
The Monitor shows these derived records: each aircraft with its type, role, mission, registry state, phase and short track; the holds; each sample point's integrity and traffic counts, and its latest hour against its usual share for that hour; each theatre's activity; and the GPS interference readings, in the Monitor activity tab and, for the northern Gulf, in the main feed. The same arrays are offered in the Monitor's public side file under the keys adsb_aircraft, adsb_on_station, adsb_gnss, adsb_events, each with the licence (ODbL-1.0), its address, adsb.lol's notice and a link to this section.