From a radar echo to a lights-out alert, in nine steps and without acronyms.
A weather radar sees birds too
A weather radar is an antenna that turns and sends out microwave pulses. When a pulse hits something — raindrops, a bird, an insect — part of it comes back. The radar measures how much energy returns, which says how much “material” there is, and how long it took, which says how far away it is. To look at different heights it repeats the turn with the beam tilted more and more, from half a degree to over ten. Every 5-15 minutes it has a full volume of the air around it.
It also measures the Doppler effect: the small change in frequency of the echo when what reflects it moves towards or away from the antenna, like an ambulance siren changing pitch as it passes. That is where the birds' speed will come from.
The air, cut into 200-metre slices
An open program, vol2bird (Dokter et al. 2011), takes each volume, keeps the ring between 5 and 35 km from the radar and cuts it into horizontal slices 200 m thick. For each slice it computes:
- Density: the total echo divided by the echo of a typical bird, a small songbird with 11 cm² of “radar surface”. It comes out in birds per cubic kilometre.
- Speed and direction: if the birds head north-east, on that side of the radar they move away and on the opposite side they come closer. Fitting that pattern all the way round gives where the whole lot is going and how fast.
- Disorder: how far the measured speeds stray from that common movement. Rain and insects drift with the wind and give a clean pattern; birds each fly their own heading and give a messier one. A slice with less than 2 m/s of disorder counts as zero birds.
From the weather service to this page
The Spanish radars belong to AEMET, the Portuguese ones to IPMA and the French ones to Météo-France. Each service sends its volumes to OPERA, the network that pools the weather radars of almost all of Europe. Aloft, a European scientific archive, runs vol2bird on those volumes and publishes the profiles openly (CC0), one or two days late and without quality control. Sub Nocte downloads them from there: one file per radar and day, with one row per slice and per profile.
One night, one figure
The slices between 200 and 3,000 m are added up, each one as its density times 0.2 km of thickness. The result is how many birds there are in the air column over one square kilometre of ground. Then all the profiles of the night are averaged, from when the sun drops 6° below the horizon until it climbs back past it. That is the page's central figure: the nightly VID, in birds/km².
VID = Σ density × 0.2 km → mean over the night
BirdCast uses another unit: how many birds cross an imaginary 1 km line during the night (MTR). It is density times speed, so it needs the speed. Here it is computed only when at least half of the night's density has a measured speed; otherwise it is left empty, never set to zero.
What a heavy night is, place by place
From each radar's record since 2016 we work out, for every day of the year, what a normal night looks like and where the 70th and 90th percentiles fall. Sanity check: the most intense 10 % of nights carry 50-55 % of the season's passage in Spain, Portugal and France, the same share measured in the United States (54 %).
Weather explains a good part of that figure
Using eleven years of nights from 55 radars in Spain, Portugal and France we train two models: one estimates how many birds there will be and the other decides whether the night will carry heavy passage. The variables are the wind at the heights where they fly (750, 1,500 and 3,000 metres), split into the part pushing along the migratory heading and the part pushing sideways; temperature and its 24-hour change; humidity, cloud cover, rain and pressure; and the day of the year.
Validation leaves whole radars out
Not random nights. It is the only honest test for a city without a radar: the model is trained without that radar and then asked to predict it blind. Done that way it captures 34 % of the heavy-passage nights against the 10 % that chance would give, with 66 % false alarms. Three times better than a coin flip, and wrong fairly often.
The alert is calibrated city by city and date by date
The model is run over the weather from 2021 to today at the city's exact location, and the levels are cut at the percentiles of the nights around the same date, in a window of three weeks either side: moderate above the median, high above the 75th percentile, very high above the 90th. That is why the alert needs no radar in the city, means the same thing everywhere and still means something at the peak of the passage.
Every forecast is checked afterwards
Each day's forecast stays in the repository history with its date. Every Monday the past ones are retrieved, what the radars measured afterwards is downloaded, and the result is published in the verification report.
Going through the files slice by slice turns up two shortcomings that are not in the archive's documentation. They are measured, not assumed, and they explain a good part of why the Spanish cities are the hard case.
In Spain the radar only looks at the first kilometre
On AEMET's renewed radars there is echo only up to about 900-1,000 m above the antenna: five or six slices. Above that the file carries not a single measurement, of birds or of anything else. With the same program, Porto reaches 3.7 km above the antenna and Nantes 4.7 km.
What the radar sees, with height exaggerated. The lines are beams at different tilts; the light band is the 5-35 km ring vol2bird uses.
The most likely explanation is geometric. At 35 km from the radar, a beam tilted 1.5° passes a little over 900 m above the antenna, plus about 100 m more because of the Earth's curvature. Only the steeper beams see the higher layers. If only the lowest turns reach the European network, the ceiling lands right there. It is a hypothesis still to be confirmed with AEMET.
Consequence: birds flying higher are not counted. That is why a Spanish radar's figure is never compared with another country's here: the levels are each radar's own percentiles.
Speed is often missing, and in France almost always
Speed comes from the Doppler. This is the share of slices with birds that carry it:
In France the archive had it complete in 2019 and loses it from 2021 on. The program that computes it is the same, so the most likely cause is a change in how the Doppler data reaches the European network. On the renewed Spanish radars it is there in a bit under half of the slices with birds in spring, and almost never in winter, when there are hardly any birds. AEMET's old radars always gave it.
Consequence: without speed there is no traffic rate (MTR) and no disorder filter to set insects apart. That is why the central figure is the VID, which needs only density. Still to ask Aloft whether the Doppler data is in the source files and whether 2021-2026 can be reprocessed.
Measured on the Aloft profiles in October 2026.