El hueco es real y los datos crudos no son el problema
No existe en Europa ningún pronóstico público por ciudad ni ningún programa municipal «luces fuera» ligado a la migración. Lo más cercano es el pronóstico de la Vogelwarte, limitado a Sempach.
Aloft publica en un bucket S3 abierto (CC0) los perfiles verticales de aves de unos 150 radares de 22 países, ya procesados con vol2bird. No hace falta pedir volúmenes polares a nadie.
Los perfiles llegan con 1-2 días de retraso y sin control de calidad. Sirven para entrenar y verificar, no para un «mapa en vivo». El pronóstico depende solo de la meteorología, como en BirdCast.
La red antigua de AEMET cesa en Aloft en 2023 y la wiki de Aloft la califica de inútil para aves por un filtro de no-precipitación. La red renovada entra en nov 2025 y jun 2026 con 10 radares. Hay que comprobar que sí ven aves.
La tesis del proyecto cambia respecto a la idea inicial. La incertidumbre no está en conseguir datos de radar, sino en tres cosas: la calidad de los perfiles españoles nuevos, el filtrado de insectos y lluvia en un producto sin control de calidad, y la capacidad de predecir los picos raros, que es justo lo que pide una alerta «luces fuera». Todo lo demás está publicado, tiene código abierto y cabe en GitHub Actions.
La propuesta de valor frente a lo que existe: pronóstico a 3 noches, resuelto por ciudad, con alerta accionable y verificación pública al día siguiente. Nadie ofrece esa combinación en Europa.
Qué existe ya en Europa
| Iniciativa | Qué hace | Cobertura | Pronóstico | Alerta ciudad |
|---|---|---|---|---|
| Vogelwarte Sempach (CH) | Pronóstico a 2 noches con radar ornitológico BirdScan + GFS, publicado a las 12:00 UTC. Cita «apagar luces» como uso. | Solo Sempach / Suiza | sí | no |
| FlySafe / BIRDTAM (NL, BE, DE) | Composite cada 5 min de densidad de aves con radares meteo, más módulo a 72 h. Uso militar; composite abierto en KNMI Data Platform (CC BY 4.0). | Benelux + oeste DE | restringido | no |
| Start/Stop eólico offshore (NL) | Modelo UvA a 48 h de MTR en 25-300 m; el ministerio para turbinas, máx. 60 h/año. Operativo desde 2023. | Mar del Norte NL | sí | no |
| CROW (INBO + RMI) | Visor en tiempo real de perfiles de 10 radares de BE/NL/FR/DE. Feed abierto en opendata.meteo.be. | Benelux | no | no |
| DAVVL (DE) | Pronóstico mensual en PDF para aviación civil. | Alemania | cualitativo | no |
| BTO Migblog (UK) | Blog cualitativo con BirdTrack y sinóptica. Sin radar. | Reino Unido | cualitativo | no |
| HiRAD (Biodiversa+, 2023-2027) | Armonización y acceso a datos de radar para biodiversidad aérea. Aloft es su plataforma. Sin producto de alertas. | Europa | no | no |
| España / Portugal | Nada. SEO/BirdLife, ICO y SPEA no usan radar. Meteocat trata las aves como «ecos falsos». | — | no | no |
Luces fuera en Europa
- Ninguna ciudad europea apaga luces coordinada con un pronóstico de migración. Existen eventos anuales fijos (Earth Night el 11 sep 2026, Nacht van de Nacht, Jour de la Nuit) y campañas permanentes de comercios (lichtaus.ch en Basilea, Zug y Thun).
- Casos que demuestran el efecto: la Post Tower de Bonn pasó de más de 1.000 aves muertas por otoño a unas 100 tras apagar logos y focos en 2022. En Hamburgo, tres edificios de 23-90 m produjeron 47 víctimas en un otoño, 77 % migrantes nocturnos. En Berlín se documentaron 812 impactos en más de 20 complejos.
- Normativa aprovechable: Francia obliga a apagar fachadas a la 1:00 (arrêté 2018). Andalucía fija horario nocturno 23:00-06:00 con ornamental apagado (Decreto 37/2025). Cataluña zonifica por sensibilidad de fauna. Alemania tiene el §41a BNatSchG aprobado pero sin reglamento. Ninguna norma menciona la migración dinámica: una alerta de pocas noches al año encaja como medida voluntaria y barata.
Lo que he verificado hoy en las fuentes
Listé directamente el bucket público de Aloft el 2 de septiembre de 2026. Estas cifras son las que cuentan para el diseño; algunos resúmenes publicados (paper de 2025, Zenodo) están anticuados respecto al bucket.
| Dato | Valor verificado |
|---|---|
| Ubicación | s3://aloftdata (eu-west-1), listado anónimo por HTTP. Prefijos baltrad/daily, baltrad/monthly, baltrad/hdf5, uva/, ecog-04003/ |
| Formato diario | VPTS CSV, un fichero por radar y día: baltrad/daily/{radar}/{año}/{radar}_vpts_{AAAAMMDD}.csv. Columnas: datetime, height, u, v, w, ff, dd, sd_vvp, gap, eta, dens, dbz, dbz_all, n, n_dbz, rcs, sd_vvp_threshold, radar_latitude, radar_longitude, … |
| Resolución | 5 min (10 min en los radares españoles nuevos) × capas de 200 m hasta 5 km. Un día de Jabbeke tiene 6.350 filas. |
| Latencia observada | El fichero del día D se sube entre las 01:30 y las 03:30 UTC de D+1 o D+2 (el 31 ago 2026 subido el 2 sep a las 02:09). Los HDF5 por timestamp llegan unas 15-19 h después de la medida. |
| Licencia | CC0 para los perfiles. Los volúmenes polares crudos no se redistribuyen. |
| Radares con datos en 2026 | FR 25 · DE 17 · FI 12 · SE 12 · NO 12 · ES 10 · RO 7 · HR 6 · PT 6 · DK 5 · CH 5 · HU 5 · SK 4 · IS 3 · BE 2 · NL 2 · CZ 2 · SI 2 · EE 2 · LT 2 · IE 1 · GR 1. Sin Italia, Reino Unido, Austria ni Polonia (PL cesa en 2022). |
| Histórico | Desde 2012 en NL y SE, desde 2016-2017 en la mayoría. España antigua 2017-2023 (25 radares). Suficiente para climatologías y entrenamiento. |
Radares españoles activos en Aloft
Códigos nuevos que corresponden a la red renovada de AEMET (banda C, 5,3 cm). Las ciudades son las que quedan dentro de los 35 km útiles del radar o muy cerca; la asignación exacta se hará con las coordenadas.
| Código | Lat | Lon | Alt (m) | Desde | Días 2026 | Ciudades cercanas |
|---|---|---|---|---|---|---|
estjv | 40,176 | -3,714 | 717 | nov 2025 | 217 | Madrid, Getafe, Alcorcón, Aranjuez |
esgld | 41,408 | 1,885 | 662 | nov 2025 | 216 | Barcelona, Terrassa, Sabadell, Vilafranca |
esahr | 36,613 | -4,659 | 1159 | nov 2025 | 210 | Málaga, Marbella, Torremolinos |
essft | 39,429 | -6,285 | 667 | nov 2025 | 205 | Cáceres, Trujillo, Mérida (límite) |
esnjr | 36,832 | -2,082 | 499 | jun 2026 | 69 | Almería, Roquetas |
esclg | 37,689 | -6,333 | 531 | jun 2026 | 48 | Sevilla (límite), Huelva (límite), Sierra de Aracena |
espdg | 41,734 | -0,546 | 835 | jun 2026 | 48 | Zaragoza |
esgrm | 41,012 | -6,478 | 793 | jun 2026 | 1 | Salamanca y Zamora (límite). Solo un día: intermitente |
esatn | 28,019 | -15,615 | 1777 | jun 2026 | — | Gran Canaria (Las Palmas) |
esbnv | 28,311 | -16,824 | 1367 | jun 2026 | — | Tenerife (Santa Cruz, La Laguna) |
Otras fuentes que entran en el diseño
| Fuente | Uso | Detalle |
|---|---|---|
| ERA5 (Copernicus CDS) | Entrenamiento | Reanálisis horario 0,25°, niveles de presión (u, v, T, RH, gph en 1000-700 hPa), superficie (msl, tp, tcc, t2m). Latencia 5 días. Solo hace falta en los puntos de radar: volumen de descarga pequeño. |
| ECMWF Open Data (IFS) | Operación | 0,25°, ciclos 00/06/12/18, cada 3 h hasta 144 h, CC BY 4.0. Misma familia que ERA5, lo que reduce el desajuste entrenamiento/operación. ICON-EU (DWD, 6,5 km) como segundo miembro. |
| Open Radar Data API (EUMETNET/RODEO) | Futuro, opcional | Volúmenes polares single-site CC BY 4.0 con caché de 24 h en api.meteogate.eu. 127 estaciones; España, Portugal e Italia ausentes (AEMET hasta T1 2027). Permitiría correr vol2bird propio con menor latencia, pero no es necesario para el MVP. |
| RMI Bélgica, feed CROW | Piloto casi tiempo real | Perfiles vol2bird de 10 radares cada 5 min, CC BY 4.0, en opendata.meteo.be/ftp/observations/radar/vbird/. Único feed horario abierto de Europa. Ideal para probar un «mapa en vivo» en Benelux. |
| KNMI FlySafe composite | Referencia | Densidad integrada cada 5 min NL/BE/DE desde 2016, CC BY 4.0. Sirve para calibrar contra un producto operativo. |
| VIIRS Black Marble (NASA) o Falchi et al. 2016 | Exposición lumínica | Radiancia nocturna por celda para el índice de exposición ciudad × migración, como Horton et al. 2019. |
| Eurostat GISCO / OSM | Geometrías de ciudad | Límites urbanos (Urban Audit / FUA) para resolver el pronóstico por ciudad. |
Un pipeline nocturno que cabe en GitHub Actions
Misma filosofía que el Observatorio de alegaciones: sin servidores, todo en repositorio público, salidas estáticas en GitHub Pages y ficheros JSON como API. Dos flujos separados: el de pronóstico corre cada día a mediodía con la meteorología; el de observación y verificación corre de madrugada cuando Aloft publica el día anterior.
Perfiles Aloft
Descarga incremental de los CSV diarios de los radares activos. Histórico mensual (.csv.gz) para 2012-2025.
Filtros biológicos
Descartar capas con sd_vvp < 2 m/s, celdas con lluvia (dbz_all alto y gap), velocidad aérea < 4,8 m/s respecto al viento ERA5 (insectos), altura < 200 m (clutter).
MTR por noche
Integrar densidad × velocidad × espesor entre 200 y 3.000 m, desde el crepúsculo civil hasta el amanecer. Unidad: aves/km/noche, la misma que BirdCast.
Predictores
ERA5 en el punto del radar: u, v, T, RH a 1000/925/850/700 hPa, msl y su tendencia 24 h, precipitación, nubosidad, día del año, noche anterior.
Gradient boosting
LightGBM sobre raíz cúbica de MTR, por temporada. Validación dejando fuera un año y dejando fuera un radar. Baseline: climatología por día del año.
Tres noches
Cada día a las 12:00 UTC con el ciclo 00 de ECMWF Open Data: MTR previsto por radar para esta noche, mañana y pasado, con intervalo por cuantiles.
Resolución espacial
Interpolación entre radares (kriging sencillo o ponderación por distancia) a la malla 0,2° y lectura en el polígono de cada ciudad. Percentil frente a la climatología local.
Web, feed, alertas
Mapa europeo, ficha por ciudad, RSS/Atom por ciudad, canal Telegram y correo para suscriptores. Nivel de alerta y texto listo para difundir.
Al día siguiente
Cuando Aloft publica la noche observada, se compara con lo previsto y se publica el acierto acumulado por radar y temporada. Transparencia como argumento de venta.
Decisiones de arquitectura
- Python con polars o pandas, LightGBM, xarray/cfgrib para GRIB de ECMWF, cdsapi para ERA5. Sin R en producción, aunque bioRad y vol2birdR quedan como referencia de definiciones.
- Sin base de datos: parquet en el repo (o en un bucket gratuito de Cloudflare R2 si el histórico crece; unos 47 GB en CSV, mucho menos en parquet filtrado).
- Dos cron:
pronostico.ymla las 11:30 UTC (el ciclo 00 de ECMWF está completo hacia las 08:00) yobservado.ymla las 04:30 UTC. - API implícita:
/api/ciudades/{slug}.json,/api/radares/{codigo}.json,/api/alertas/hoy.json. Suficiente para que una ONG o un ayuntamiento lo consuma. - Versionado del modelo y de los umbrales en el repo, con changelog. Una alerta debe ser reproducible.
Qué predice y cómo se sabrá si funciona
La receta de Van Doren y Horton (2018) es reproducible con los datos europeos: XGBoost sobre reanálisis, objetivo raíz cúbica de la reflectividad, R² de 0,78 en test y 72 % con pronósticos a 24 h. Los trabajos europeos con radar meteo y ERA5 obtienen algo menos (LightGBM sobre nueve radares franceses: R² 0,47 en primavera y 0,61 en otoño; GAM sobre diez años de KNMI en Países Bajos), con el mismo defecto en todos: subestiman los picos. Eso marca el diseño del modelo y de las alertas.
Especificación inicial
- Objetivo: MTR nocturno integrado 200-3.000 m, transformado con raíz cúbica. Alternativa a evaluar: densidad por capa de 200 m como BirdCast, que permite luego dar altitud media.
- Predictores: viento zonal y meridional a 925 y 850 hPa y su componente favorable respecto a la dirección estacional dominante (SO en otoño, NE en primavera para Iberia), temperatura y su anomalía a 24 h, humedad relativa, presión a nivel del mar y su tendencia, precipitación acumulada 6 h, nubosidad total, latitud, longitud, día del año, horas de noche. Opcional: MTR observado de la noche anterior (mejora 2-3 puntos en BirdCast, pero acopla el pronóstico a la latencia de Aloft).
- Algoritmo: LightGBM con objetivo cuantílico (P10, P50, P90) para dar intervalo. Un modelo por temporada (primavera, otoño) entrenado con todos los radares a la vez, con el código de radar como categoría para absorber diferencias de calibración.
- Validación: dejar fuera un año completo (2023 como test), luego dejar fuera un radar para medir generalización a lugares sin histórico, que es el caso de los radares españoles nuevos. Métricas: R² sobre la transformada, y sobre todo acierto de la categoría de alerta (precisión y exhaustividad de las noches P90) y curva de «fracción de migración capturada por noches alertadas».
- Baseline obligatorio: climatología suavizada por radar y día del año. Si el modelo no bate la climatología en las noches altas, no se publica.
Problemas conocidos y cómo se tratan
- Insectos: dominan en verano y en el sur; el umbral de velocidad aérea de 4,8 m/s (Nussbaumer 2021) con viento ERA5 reduce el error. Las alertas se limitan a las ventanas migratorias.
- Lluvia: no hay MistNet para banda C europea; se usa la máscara de vol2bird más una regla con precipitación ERA5 > 1 mm/h para excluir noches.
- Calibración heterogénea entre radares OPERA: percentiles locales en vez de umbrales absolutos, exactamente lo que hace BirdCast.
- Huecos en Aloft (radares que caen días o meses): la interpolación espacial debe indicar cuántos radares sostienen cada ciudad y degradar la confianza.
Alertas «luces fuera» que alguien pueda ejecutar
La alerta es relativa a la historia local, como en BirdCast: «alto» es una noche entre el 10 % más intenso de la temporada en esa zona. Con esa definición, en Estados Unidos el 10 % de las noches concentra más de la mitad del paso migratorio; la selección dinámica necesita unas 14-16 noches por temporada para proteger la mitad de las aves, frente a 19-27 con un calendario fijo. Ese es el argumento para un ayuntamiento: pocas noches, bien elegidas.
Apagar iluminación ornamental, fachadas, logos y publicidad de 23:00 a amanecer. Bajar intensidad del alumbrado donde sea regulable. Difusión a medios locales.
Recomendación a edificios altos y corporativos suscritos. Sin campaña pública.
Solo informativo en la ficha de ciudad.
Reglas de emisión
- Ventanas para Iberia: 15 feb-31 may y 15 ago-30 nov. Para Europa central y norte, ajustar por latitud con la climatología de cada radar.
- Horario: 23:00 a amanecer, alineado con el horario nocturno del Decreto 37/2025 andaluz y el arrêté francés, para que la medida no choque con norma alguna.
- Publicación a las 12:00 UTC del día: alerta firme para esta noche, orientativa para las dos siguientes. Cada alerta enlaza a la verificación de la noche anterior.
- Confianza: se muestra el número de radares que sostienen la predicción y la anchura del intervalo P10-P90. Una ciudad con un solo radar intermitente nunca recibe «alto» sin aviso de incertidumbre.
- Canales: ficha web por ciudad, RSS, canal Telegram por ciudad (misma infraestructura que el Observatorio), correo semanal con resumen de temporada.
Pieza de lanzamiento: ranking europeo de exposición
Horton et al. (2019) clasificaron ciudades estadounidenses por exposición de aves migratorias a la luz cruzando radar y satélite; Chicago, Houston y Dallas encabezan la lista. No existe equivalente europeo. Con la climatología de MTR de Aloft (2012-2025) y la radiancia VIIRS se puede publicar el primer ranking de ciudades europeas por exposición. Es una pieza con eco mediático, no depende del pronóstico y abre puertas en ONGs y ayuntamientos antes de que las alertas estén maduras.
Ciudades del piloto
Madrid y Barcelona por radar dedicado y peso; Málaga por radar y por el Decreto andaluz vigente; Lisboa y Oporto por la calidad probada de los radares portugueses. Si la fase 0 descarta los radares españoles, el piloto arranca con Lisboa, Oporto, Toulouse y Burdeos.
Qué puede salir mal
| Riesgo | Probabilidad | Mitigación |
|---|---|---|
| Los perfiles españoles nuevos están filtrados y no contienen aves | media | Fase 0 lo resuelve en dos semanas. Plan B: Portugal y sur de Francia; contactar a AEMET vía HiRAD/Aloft para pedir volúmenes sin filtro cuando acabe la renovación (T1 2027). |
| Aloft cambia estructura, se retrasa o deja de actualizarse (proyecto financiado por Biodiversa+ hasta 2027) | media | Ingesta tolerante a huecos; espejo propio del histórico; alternativa a medio plazo: correr vol2bird sobre la Open Radar Data API (CC BY 4.0, 24 h de caché). |
| El modelo no predice bien los picos, que es lo que importa | alta | Optimizar y reportar la métrica de categoría, no el R². Cuantiles. Umbral P90 por percentil, no por valor. Verificación pública para que la limitación sea visible y honesta. |
| Insectos inflan la señal en el sur en verano | media | Filtro de velocidad aérea, ventanas de temporada, y excluir capas bajas cálidas si hace falta. |
| Nadie ejecuta las alertas | alta | Buscar un aliado con capacidad de acción antes de la temporada de otoño 2027: SEO/BirdLife (campaña «Aves y cristales»), SPEA, un ayuntamiento con norma lumínica reciente (Andalucía), un gestor de edificios corporativos. El ranking de exposición es el gancho. |
| Critica científica por publicar sin revisión | baja | Métodos abiertos, código abierto, verificación pública, contacto temprano con Aloft/INBO (Peter Desmet) y Vogelwarte, que ya recomiendan apagar luces. |
| Coste de cómputo o de datos | baja | Solo se necesita ERA5 en unos 150 puntos y GRIB de ECMWF de unas pocas variables. Todo cabe en Actions gratuito y un bucket pequeño. |
De la validación al piloto en una temporada
2 semanas
Validar los datos españoles
Descargar los cuatro radares de noviembre de 2025 (Madrid, Barcelona, Málaga, Cáceres) y Lisboa como control. Aplicar los filtros de bioRad y comparar el ciclo nocturno y la estacionalidad con Portugal y con el histórico 2017-2023. Decidir el ámbito del piloto.
6 semanas
Histórico, filtros y climatología
Ingesta de todos los radares con datos 2016-2025 a parquet. Pipeline B-C. Climatología de MTR por radar y día del año. Primer producto publicable: ranking europeo de exposición ciudad × luz.
6 semanas
Modelo y backtest
ERA5 en puntos de radar, LightGBM cuantílico, validación por año y por radar, comparación con climatología. Backtest de alertas: cuántas noches alertadas, qué fracción del paso capturan.
4 semanas
Operación y web
Cron de pronóstico con ECMWF Open Data, resolución a ciudades, web estática con mapa y fichas, RSS y Telegram, verificación diaria automática. Arranque en modo «beta» al inicio de la primavera de 2027.
Primera temporada real
Correr la primavera completa, medir, corregir. Presentar resultados a SEO/BirdLife, SPEA, LPO y un ayuntamiento. Objetivo: un compromiso de «luces fuera» para el otoño de 2027.
Europa
Extender a los 150 radares, ciudades de más de 100.000 habitantes, mapa en vivo para Benelux con el feed de RMI, vol2bird propio sobre Open Radar Data cuando merezca la pena. Buscar encaje con HiRAD o sucesor.
Lo que tienes que decidir tú
- Ámbito del piloto si España falla la fase 0: Portugal más sur de Francia, o esperar a la red AEMET completa en 2027. Mi recomendación: no esperar.
- Producto de lanzamiento: el ranking de exposición (rápido, mediático, sin modelo) antes que las alertas. Mi recomendación: sí, es la forma de conseguir aliados a tiempo para el otoño de 2027.
- Nombre y dominio: «BirdCast» es marca de Cornell. Hace falta un nombre propio. Candidatos: MigraNoche, Paso Nocturno, NightFlux, Aves de Paso.
- Contacto temprano con Aloft/INBO y Vogelwarte: pedirles opinión antes de publicar. Cuesta un correo y evita fricción con quienes producen los datos.
- Relación con el Observatorio: repo independiente pero misma organización de GitHub y misma infraestructura de alertas (Telegram, Pages), para que los dos proyectos se refuercen ante SEO/BirdLife.
Referencias verificadas
- Aloft, plataforma y FAQ: aloftdata.eu/faq; bucket s3 aloftdata; radares: aloftdata.eu/radars; wiki España: data-repository/wiki/es
- Desmet et al. 2025, Sci Data, dataset BALTRAD VPTS: nature.com; Zenodo 14711024
- Formato VPTS CSV: github.com/aloftdata/vpts-csv; vptstools: enram/vptstools; vol2bird: adokter/vol2bird; bioRad: adriaandokter.com/bioRad
- Open Radar Data API (EUMETNET): documentación; salida temporal de AEMET: adslzone
- Feed RMI CROW: opendata.meteo.be; visor meteo.be/birddetection; KNMI FlySafe composite: dataplatform.knmi.nl
- Van Doren & Horton 2018, Science: doi; preprint bioRxiv; Horton et al. 2021: PMC
- BirdCast alertas y Lights Out: alertas locales; Lights Out Texas; AeroEco Lab
- Horton et al. 2019, exposición de ciudades: FEE; Van Doren et al. 2021, McCormick Place: PMC
- Dokter et al. 2011, RCS 11 cm²: PMC; Nussbaumer et al. 2019 y 2021: interpolación, flujos, insectos 4,8 m/s
- Nilsson et al. 2019, Ecography: doi; Roy et al. 2025 (Météo-France, LightGBM): PMC; Kranstauber et al. 2022: ESE; Bradarić et al. 2024: JAE
- Bauer et al. 2026, Nat Sustain (eólica y radar): doi
- Vogelwarte, pronóstico: vogelwarte.ch; luz: stoerung-durch-licht; Hirschhofer et al. 2026: Biol Conserv
- Start/Stop NL: Noordzeeloket; FlySafe: flysafe-birdtam.eu; UvA 2026: nota
- Post Tower Bonn: J Ornithol; Hamburgo: monitoreo BUKEA; Berlín: Steiof 2022
- Normativa: Francia arrêté 27/12/2018; Andalucía Decreto 37/2025; Alemania §41a BNatSchG; Cataluña Decret 190/2015
- Meteo: ECMWF Open Data; ERA5 niveles de presión; DWD ICON-EU
- HiRAD: hirad.science; GloBAM balance: Biodiversa+; Earth Night: earth-night.info; lichtaus.ch: lichtaus.ch