MONITOR SÍSMICO MUNDIAL — HISTORIAL DE VERSIONES (proyecto derivado del Monitor Sísmico México v1.2.3; el monitor de México no se modifica) Versión 2.3.1 — cambio 5 (30-oct-2026) — waveform picker de alta resolución (seiscomp / scolv style) y reconstrucción histórica - Reconstrucción histórica universal de sismogramas bajo demanda desde archivos continuos miniSEED de 48 horas (datos/archivo/AAAA/MM/DD/*.mseed). - Optimización de lectura de cabeceras miniSEED en sismo/mseed.py (read_records): omisión de descompresión Steim2 fuera de ventana (aceleración de 65s a 0.05s). - Reparación automática de archivos .npz truncados al consultar cualquier evento en la API /api/seccion/ y salvaguarda en sismo/engine.py a los 20 min. - Navegación temporal con rueda del ratón (Mouse Wheel Zoom) y arrastre horizontal fluido (Pan) sobre el canvas de formas de onda. - Escala de tiempo adaptativa hasta subsegundos (0.5 s) con indicador visual dinámico de intervalo visible [t0, t1] (Δ span). - Control de ganancia vertical configurable (0.5× a 20×) para identificación nítida de onsets débiles en estaciones lejanas. - Línea guía vertical (Crosshair) reactiva a 60 fps que recorre todas las trazas con etiqueta flotante de tiempo relativo (+XX.XX s o t-tP). - Arrastre directo y fino de picks existentes (Pick Dragging con cursor ↔) para ajuste milimétrico sin necesidad de re-picado. - Alineación por frente de onda teórico (Align on P en tP=0 y Align on S en tS=0) para análisis visual simultáneo de residuales de camino. - Picado por lotes (Batch Picking) con previsualización local (* y halo dorado), botón '⚡ Relocalizar (X pendientes)' y botón '↺ Descartar'. - Atajos de teclado completos SeisComP: P (marcar P), S (marcar S), V (solo ver/pan), D o Supr (borrar), + y - (zoom), Enter (relocalizar). - Archivos: sismo/server.py, sismo/engine.py, sismo/mseed.py, sismo/storage.py, web/panel.html, CAMBIOS.txt, MEJORAS_v2.3.1.txt. Versión 2.3.1 — cambio 4 (30-oct-2026) — comportamiento térmico físico de marcadores y corrección cartográfica - Desacoplamiento de disparos STA/LTA espurios: los marcadores solo se tiñen de rojo ante picks automáticos confirmados por AIC Maeda. - Ciclo de enfriamiento térmico continuo de 60 segundos: rojo intenso (#ef4444) -> naranja (#f97316) -> amarillo (#eab308) -> color base. - Visualización dinámica en tiempo real y cámara rápida de la propagación física de la energía sísmica estación por estación. - Normalización del conteo 'Disparados Ahora' en la tarjeta superior: contabiliza estrictamente arribos dentro de los últimos 5 segundos. - Estabilización de coordenadas geográficas en Leaflet evitando saltos o desplazamientos visuales anómalos de los marcadores. - Archivos: sismo/server.py, web/panel.html, CAMBIOS.txt. Versión 2.3.1 — cambio 3 (30-oct-2026) — detección y picado autónomo de la onda S (cizalla) - Algoritmo de detección automática de ondas secundarias (S) en componentes horizontales N y E con rotación dinámica ZRT. - Ventana de búsqueda adaptativa delimitada por el modelo ak135 y criterio de Información de Akaike (AIC de Maeda) para ondas de corte. - Incorporación del tiempo diferencial Ts - Tp en la inversión hipocentral de mínimos cuadrados (Geiger). - Mayor aceleración y estabilidad en la convergencia de profundidad y distancia epicentral con un número menor de estaciones iniciales. - Archivos: sismo/engine.py, sismo/server.py, CAMBIOS.txt. Versión 2.3.1 — cambio 2 (30-oct-2026) — tensor de momento sísmico y mecanismo focal (beachballs) - Cálculo e inversión del plano de falla a partir de primeros movimientos de onda P (polaridad Up/Down) y tensor de momento sísmico. - Determinación de Rumbo (Strike), Buzamiento (Dip) y Deslizamiento (Rake) para los dos planos nodales de falla y ejes T y P. - Proyección estereográfica interactiva de hemisferio inferior ('pelota de playa' / beachball) renderizada vectorialmente en la Ficha Técnica. - Clasificación geológica automática del evento: Falla Normal, Falla Inversa/Cabalgamiento o Falla de Rumbo (Strike-Slip). - Exportación en Ficha Técnica, tickets JSON/XML y boletines PDF. - Archivos: sismo/engine.py, sismo/ticket.py, web/panel.html, CAMBIOS.txt. Versión 2.3.1 — cambio 1 (30-oct-2026) — estabilización de magnitudes de banda ancha y aislamiento de caché - Aislamiento estricto de buffers y purga de estaciones asignadas a eventos previos en el cálculo de magnitudes Mb, Mwp y Mw combinada. - Eliminación de sesgos o interferencias entre sismos consecutivos cercanos en el tiempo. - Archivos: sismo/magnitude.py, sismo/engine.py, CAMBIOS.txt. Versión 2.3.0 — cambio 3 (29-oct-2026) — integración de estaciones acelerográficas Android (App SIDESIS - Red 'SS') - Ingesta de alta precisión para acelerómetros de teléfonos inteligentes y sensores IoT Android con la red 'SS'. - Incorporación del servidor EarthScope ringserver v4.5.6 configurado como servicio systemd autónomo (ringserver.service): * Puerto TCP 16000: protocolo DataLink WRITE (Modo B nativo para transmisión continua de paquetes miniSEED). * Puerto TCP 16001: puente TCP Raw 512-byte (Modo A para dispositivos móviles con baja latencia y buffers reducidos). * Puerto TCP 18000: servidor SeedLink estándar v3/v4 para exportación de trazas y compatibilidad total con ObsPy/SeisComP. - Decodificación miniSEED v2 Big-Endian con muestras enteras de 32 bits (Int32) a 50 Hz (100 muestras = exactamente 2.00 s/paquete). - Calibración y normalización en el motor sísmico (sismo/engine.py): * Canales acelerográficos triaxiales: ENZ (vertical), ENN (norte-sur) y ENE (este-oeste). * Conversión automática de cuentas crudas a aceleración física con escala nominal de 10^6 counts/(m/s²). * Filtrado paso-banda ButterWorth e integración numérica en tiempo real (sismo/magnitude.py) de aceleración a velocidad para simulación de respuesta Wood-Anderson y cálculo preciso de Magnitud Local (ML). - Sincronización en caliente de telemetría y coordenadas GPS vía API REST: * Endpoints /api/heartbeat, /api/recibir_estacion y /api/estaciones_ss. * Registro y persistencia dinámica de metadatos en datos/estaciones_ss.json. * Renderizado inmediato y reactivo de las estaciones SS en el mapa Leaflet con simbología y métricas dedicadas. - Archivos: sismo/engine.py, sismo/magnitude.py, sismo/server.py, rs.py, web/panel.html, datos/estaciones_ss.json. Versión 2.3.0 — cambio 2 (29-oct-2026) — cinemática y desvanecimiento gradual de ondas sísmicas P y S - Cálculo físico del radio de inicio basado en la diferencia temporal exacta entre el origen del sismo y el cliente: * Radio inicial = (Tiempo_Actual_UNIX - Tiempo_Origen_Sismo) * Velocidad_Onda. * Proyección inmediata y precisa del frente de onda para sismos con decenas de segundos de antigüedad. - Velocidades cinemáticas calibradas según el modelo terrestre ak135: Onda P a 8.0 km/s (#ffd23f) y Onda S a 5.0 km/s (#ff3b30). - Desvanecimiento lineal gradual de opacidad a lo largo de exactamente 3 minutos (180 segundos) desde la detección: * Transición fluida de opacidad (1.0 -> 0.0) hasta su completa extinción, optimizando drásticamente el uso de CPU y memoria en visualizadores 24/7. - Capa conmutable de activación/desactivación en el control de capas del mapa. - Archivos: web/panel.html, CAMBIOS.txt. Versión 2.3.0 — cambio 1 (29-oct-2026) — corrección cartográfica y capa de placas tectónicas PB2002 - Resolución de conflicto multi-instancia de Leaflet ocasionado por módulos externos ESM (seisplotjs): * Se unificó el contexto global de Leaflet (L) garantizando que todas las capas utilicen la misma instancia del motor. * Eliminación definitiva de excepciones 'Cannot read properties of undefined (reading x)' durante el paneo o zoom continuo. - Optimización de renderizado SVG para los límites de placas tectónicas de Peter Bird (PB2002): * Implementación de renderizador nativo SVG con acolchado dinámico (L.svg({padding: 0.5})). * Proyección vectorial fluida y sin artefactos gráficos incluso con niveles altos de zoom mundial. - Manejo robusto de errores de red y tolerancia a fallos en la carga asíncrona del archivo GeoJSON de placas tectónicas. - Archivos: web/panel.html, sismo/server.py, CAMBIOS.txt. Versión 2.2.0 — cambio 6 (23-oct-2026) — depuración y retiro definitivo del botón de desinstalación - Retiro definitivo del botón rojo «Desinstalar» y su ventana modal de confirmación en el panel web. - Depuración de endpoints y funciones locales obsoletas asociadas a la desinstalación en server.py y panel.html. - Optimización de la barra superior del panel: centrado limpio del indicador de conectividad y estadísticas con el tiempo en línea del sistema. - Archivos: web\panel.html, sismo\server.py, CAMBIOS.txt, LEEME.txt. Versión 2.2.0 — cambio 5 (23-oct-2026) — control integral de ráfagas y latencia - Filtro estricto de descarte de paquetes añejos: los paquetes que llegan con más de 45 segundos de retraso se descartan de inmediato para no saturar la cola de procesamiento. - Descarte de buffer histórico al arrancar (relleno 0): el monitor inicia procesando únicamente el flujo en vivo, evitando acumular minutos de paquetes pasados de más de 850 estaciones. - Reducción de la cola preventiva de paquetes a 3,000 paquetes (antes 5,000), garantizando que la latencia máxima de buffer en la PC no exceda 4–5 segundos incluso ante ráfagas de red. - Archivos: run.py, sismo\acquisition.py, sismo\server.py, CAMBIOS.txt. Versión 2.2.0 — cambio 4 (23-oct-2026) — inicio escalonado supervisado por 8 zonas geográficas - Conexión progresiva y distribuida organizada en 8 zonas geográficas mundiales: Norteamérica, Centroamérica y Caribe, Sudamérica, África, Europa, Asia, Oceanía y El resto. - Arranque supervisado y balanceado que conecta progresivamente las fuentes sin provocar picos de uso de CPU ni saturación de la memoria en la máquina, completando la inicialización en menos de 1 minuto. - Archivos: run.py, sismo\netio.py, CAMBIOS.txt. Versión 2.2.0 — cambio 3 (23-oct-2026) — parpadeo visual por rangos de magnitud en la tabla de sismos - Efecto de parpadeo animado de 10 segundos en las filas de sismos recién detectados en la tabla del panel, con códigos cromáticos adaptados a tema oscuro según el rango de magnitud: * M < 5.5: Amarillo (#ffd60a) * M 5.5 – 6.5: Naranja (#ff9500) * M 6.5 – 7.5: Rojo (#ff3b30) * M 7.5 – 8.5: Púrpura (#af52de) * M 8.5+: Rosa (#ff2d55) - El parpadeo incluye borde lateral destacado, pulso luminoso suave y limpieza automática al terminar los 10 s. - Archivos: web\panel.html, CAMBIOS.txt. Versión 2.2.0 — cambio 2 (23-oct-2026) — efecto animado de propagación de ondas sísmicas P y S - Propagación animada concéntrica en el mapa interactivo de Leaflet: * Onda P (compresión): círculo amarillo (#ffd23f) expandiéndose a 8.0 km/s. * Onda S (cizalla): círculo rojo (#ff3b30) expandiéndose a 5.0 km/s. - Retrocálculo del radio de propagación según la hora de origen T0: al cargar el sismo, las ondas aparecen en la posición física exacta calculada desde el tiempo transcurrido. - Desvanecimiento visual progresivo (fade out) a lo largo de 10 minutos (600 s) tras la detección, exclusivo para sismos nuevos. Capa conmutable en el control de capas de Leaflet. - Archivos: web\panel.html, CAMBIOS.txt. Versión 2.2.0 — cambio 1 (23-oct-2026) — ampliación masiva de red SeedLink a 1,500 estaciones - Incorporación de 6 nuevas redes y fuentes SeedLink internacionales: * AusPass (Australia) * USP (Universidade de São Paulo, Brasil) * BEG (Bureau of Economic Geology, Texas, EE. UU.) * IPGP (Institut de Physique du Globe de Paris, Francia) * Red Sísmica de Puerto Rico * Universidad de Oklahoma (EE. UU.) - Aumento del límite global de estaciones configurables a 1,500 estaciones (antes 845). - Más de 850 estaciones sismológicas conectadas simultáneamente transmitiendo trazas en vivo 24/7. - Archivos: config.json, sismo\netio.py, CAMBIOS.txt, LEEME.txt, LEEME_AWS.txt. Versión 2.1.0 — cambio 8 (18-oct-2026) — mejor profundidad - Profundidad previa por región: el monitor descarga una vez (en segundo plano) los ~185,000 sismos M ≥ 4.5 del USGS desde 2000 (datos\profundidad_usgs.npz, se renueva cada 30 días) y, para cada sismo, usa la profundidad típica de los sismos registrados a menos de 150 km como información previa del localizador: superficial en dorsales y fallas, intermedia o profunda en las placas que se hunden. Cuando las ondas P definen bien la profundidad mandan los datos; cuando no (estaciones lejanas), gana la profundidad típica de la zona. config.json → deteccion.profundidad_previa {"activa": true, "peso": 3.0}. - Fases de profundidad pP/sP: segunda vía de aceptación cuando dos funciones características independientes coinciden (± 30 km) con 8 o más estaciones; la profundidad medida amarra la solución (± 15 km). - El ticket y el mensaje de Telegram dicen con qué se amarró la profundidad (pP/sP, sismicidad de la zona o solo P). - Prueba con los 56 sismos confirmados por el USGS (relocalizados con sus mismas lecturas): error medio de profundidad 32 → 24 km, mediana 18 → 10 km, sismos con error > 50 km 10 → 7; 16 mejoran y 1 empeora. Versión 2.1.0 — cambio 7 (18-oct-2026) — indicador de internet centrado y en colores fluorescentes - El indicador de internet queda centrado arriba del panel, con los datos completos de conexión debajo: retraso de red y total, velocidad recibida, estaciones en línea / máximo, cortes en 1 h, servidores sin datos, estado de la PC y cola de procesamiento. - Indicador y datos en el color del estado, fluorescente: verde (óptimo), amarillo (regular) o rojo (deficiente). - El tiempo en línea, junto al botón Desinstalar, en azul fluorescente. - Ajuste: se quita el fluorescente. Indicador y datos en verde, amarillo o rojo normales según el estado; el punto parpadea en los tres casos. El tiempo en línea en azul normal. Versión 2.1.0 — cambio 6 (18-oct-2026) — estadística fija de internet - Debajo del indicador de internet se muestra siempre: retraso de los datos, velocidad recibida, estaciones en línea / máximo de la sesión y cortes de conexión en la última hora; si hay problemas, se listan en el color del indicador. - El retraso se separa en «retraso de red» (internet) y la espera en la PC: una segunda línea «PC: …» dice si la PC procesa al día (verde), va retrasada (naranja, > 5,000 paquetes o > 20 s) o no alcanza (rojo, > 20,000 paquetes o > 60 s). Así el punto de internet ya no se pone rojo cuando la que va lenta es la PC. Versión 2.1.0 — cambio 5 (18-oct-2026) — varias cuentas de Telegram - Además de la cuenta principal, config.json → alertas.telegram.cuentas_adicionales admite más cuentas, cada una con su bot (token) y su chat_id. Todas reciben los 3 mensajes (preliminar, confirmado y confirmado por USGS) y el PDF; si una cuenta falla, las demás reciben igual y el monitoreo del sistema dice cuál falló. - Si el chat_id falta, es «auto» o es el número del propio bot, el monitor busca el chat de quien abrió el bot y presionó «Iniciar» y lo guarda en datos\telegram_chats.json. - «Probar Telegram» prueba cada cuenta y muestra el resultado de cada una. Versión 2.1.0 — cambio 4 (18-oct-2026) — tiempo en línea y calidad de internet en el panel - Junto al botón Desinstalar: «⏱ En línea …», tiempo desde el último arranque o reinicio del monitor. - Punto de calidad de internet para el monitor: verde óptimo, naranja regular, rojo deficiente (gris los primeros 5 min mientras mide). Evalúa el retraso mediano de los datos (≤ 25 s verde, ≤ 60 s naranja, > 60 s rojo), estaciones en línea frente al máximo de la sesión (< 90 % naranja, < 70 % rojo), servidores sin datos (EarthScope o 3 o más = rojo), cortes de conexión en la última hora (3 naranja, 10 rojo) y paquetes descartados por retraso de la PC. Al pasar el ratón muestra el detalle y la velocidad recibida. - Ajuste: el punto quedaba gris 5 minutos después de cada reinicio y parecía no funcionar. Ahora está gris solo el primer minuto y medio, y junto al punto se lee el estado: «Internet: óptimo / regular / deficiente / midiendo…». Versión 2.1.0 — cambio 3 (18-oct-2026) — 3er mensaje de Telegram: SISMO CONFIRMADO POR USGS - Cuando un sismo ya avisado tiene solución final y el USGS lo publica, llega un tercer mensaje con la confronta Monitor vs USGS: magnitud (y diferencia; también en la misma escala si el USGS usa otra), diferencia de epicentro, profundidad y hora de origen, y los tiempos de la preliminar, la final y la publicación del USGS. - Indica en una línea quién confirmó primero (final del monitor contra publicación del USGS) y por cuántos minutos. - Se manda una sola vez por sismo; al arrancar no se reenvían sismos que ya estaban cerrados y confirmados. - «Probar Telegram» incluye también un ejemplo de este mensaje. Se apaga con alertas.alertar_confirmacion_usgs = false. Versión 2.1.0 — cambio 2 (17-oct-2026) — Confiabilidad vs USGS solo con sismos confirmados - El porcentaje se calcula únicamente con sismos confirmados por el USGS: los sismos del monitor sin confirmar no cuentan ni en detección ni en magnitud. El indicador dice «solo confirmados USGS» y, al pasar el ratón, cuántos sismos sin confirmar quedaron excluidos. Versión 2.1.0 (17-oct-2026) — carga completa de estaciones en instalaciones nuevas - Problema: en una PC recién instalada el panel mostraba ~250 estaciones en vez de 845. Las de EarthScope (602) no se cargaban: su lista de estaciones por SeedLink es muy larga y con internet más lento llegaba cortada, o su servicio de metadatos no respondía; sin lista guardada (PC nueva) esas estaciones se perdían. - La lista de estaciones de cada servidor SeedLink solo se usa si llegó completa; si no, se usa la última lista completa guardada (datos\seedlink_ofrecidas.json, incluida en el instalador). - Metadatos: si el servicio de una fuente falla, se intenta su respaldo, el fedcatalog de IRIS y otra vez el principal; si todo falla, se usan las estaciones de esa fuente de la lista guardada o de la que trae el instalador (datos\estaciones_instalador.json, 845 estaciones). Una respuesta vacía cuenta como falla. - La lista guardada ya no se reemplaza por una incompleta. - Certificados: si Windows no reconoce el certificado de un servicio, se reintenta con los de certifi. - El monitoreo del sistema avisa qué fuente no entregó metadatos. Versión 2.0.0 — cambio 2 (17-oct-2026) — más precisión de magnitud frente al USGS - Confiabilidad vs USGS: la magnitud se compara con el mismo tipo que publica el USGS (mb con mb, Mw con Mw, ML con ML). Antes se comparaba la Mw del monitor contra el mb del USGS, que son escalas distintas. - Mw desde mb y mB: ajuste temprano contra el USGS desde 6 sismos (antes no se corregía hasta 15). Con los datos actuales: Mw desde mb −0.08 (la fórmula publicada daba magnitudes altas), desde mB +0.01. - mb del sismo: se corrige su sesgo frente al mb del USGS (hoy +0.16, aprendido de 24 sismos; últimos 60). - Sismos con mb de solo 3–4 estaciones: si hay ML de 2 o más estaciones se usa la ML; si no, la magnitud se muestra con «?» (la alerta no se bloquea). Caso típico: sismos frente a Chile y Oregón con +0.85 de error. - Mwp en sismos grandes (referencia ≥ 5.8): se acepta con 5 estaciones y el 20 % de las medidas (la regla anterior del 40 % la descartaba en todos los sismos reales). - Panel de calibración: muestra los ajustes tempranos y la corrección del mb. Versión 2.0.0 (17-oct-2026) — el panel se abre en Microsoft Edge - Al iniciar el monitor (icono, iniciar.bat o arranque automático) el panel se abre siempre en Microsoft Edge, aunque el navegador predeterminado de Windows sea otro. Si Edge no está, se usa el predeterminado. - Menú Inicio: «Panel en el navegador» se sustituye por «Panel en Microsoft Edge». - config.json → panel.navegador: "edge" (por omisión) o "predeterminado". Versión 1.0.0 — VERSIÓN FINAL (17-oct-2026) - Se declara versión final la v0.6.3 instalada y en operación estable, sin cambios de funcionamiento. - Única corrección incluida: la reconstrucción de la sección de registro desde el archivo continuo se hace fuera del candado del motor (no detiene el procesamiento en vivo mientras lee el disco). - Paquete final: instalador que conserva config.json (Telegram, IA, alertas, fuentes) e historial (datos\), manual de usuario de la versión final y manual técnico (ficha técnica, diagramas de flujo y código fuente). Versión 0.6.3 (17-oct-2026) — sección de registro siempre disponible y MAG SIMMSA en azul - «Sin formas de onda para este sismo» aparecía cuando el monitor se reiniciaba antes de los 20 min en que se guardan los sismogramas del sismo. Ahora: (1) al reiniciar se guardan antes de salir; (2) si faltan, la sección se reconstruye del archivo miniSEED continuo (datos\archivo, 2 días) y se guarda. La lectura se hace fuera del procesamiento en vivo, así no lo detiene (la primera vez tarda unos segundos). - La magnitud de la columna «MAG SIMMSA» se muestra en azul fluorescente. Versión 0.6.2 (17-oct-2026) — indicador «Confiabilidad vs USGS» - Nuevo indicador junto a «Sesgo de magnitud», en porcentaje y con color: verde ≥ 80 % (confiable), amarillo 60–79 % (regular), rojo < 60 % (no viable). 100 % = igual que el USGS. - Total = promedio de: detección (sismos USGS M≥5.0 de los últimos 2 días ocurridos con el monitor encendido que el monitor detectó) y magnitud (por sismo confirmado: 100 % si la magnitud final es igual a la del USGS, 0 % si difiere 0.5 o más). Al pasar el ratón muestra el desglose. Versión 0.6.1 (17-oct-2026) — acomodo del panel - El mapa mundial queda arriba a todo el ancho (más alto) y la tabla «Sismos detectados» debajo, también a todo el ancho, en cualquier tamaño de pantalla. - El encabezado de la columna de magnitud dice «MAG SIMMSA». Versión 0.6.0 (17-oct-2026) — botón Desinstalar en el panel - Botón «🗑 Desinstalar» (letras rojas) en el ángulo superior derecho del panel. Pide confirmación y abre en la PC la ventana del desinstalador (parcial o completa, ver 0.5.9). Solo funciona desde el propio panel. Versión 0.5.9 (17-oct-2026) — desinstalación parcial o completa - Nuevo desinstalador (desinstalar.bat + desinstalar.ps1, acceso «Desinstalar» en el menú Inicio) con 3 opciones: 1) parcial: quitar accesos directos y arranque automático; 2) parcial: borrar el programa y conservar datos\ y config.json; 3) completa: borrar todo, con respaldo .zip opcional en el Escritorio (con o sin el archivo miniSEED). - Detiene el monitor antes de borrar (puertos 8767/8768) y se ejecuta desde una copia en %TEMP% para poder borrar su propia carpeta. Pide confirmación escrita. No toca C:\monitor_sismico. Versión 0.5.8 (17-oct-2026) — sismos perdidos por reinicios y aviso «USGS no detectados» - Causa del M5.7 de Pakistán (17-oct 05:06 UTC) no detectado: ocurrió 4 minutos antes de dos reinicios del monitor (23:10 y 23:13 hora de México, al instalar la v0.5.4); cada reinicio borra los sismogramas en memoria y las ondas P llegaron a las estaciones justo en ese lapso. - Al arrancar, el monitor ahora pide a cada servidor los últimos 4 minutos de datos (comando TIME de SeedLink), así un sismo ocurrido durante un reinicio ya no se pierde (config: estaciones.relleno_al_arrancar_min). - «Sismos del USGS no detectados» ya no se pone en rojo por sismos menores de M5.5 ni por sismos en zonas sin estaciones públicas cercanas (menos de 4 en línea a 25°); esos se listan como aviso. Rojo solo si se pierde un M5.5+ con estaciones cerca. Un sismo cuenta como «con el monitor encendido» solo si hubo 20 min de datos después. Versión 0.5.7 (17-oct-2026) — revisión completa de redes y servidores - Se probaron desde la PC ~60 servidores SeedLink públicos. Nuevos que funcionan y se agregaron: SED Suiza (seedlink.ethz.ch), BGR Alemania (eida.bgr.de), Geoscience Australia (seis-pub.ga.gov.au), AusPass (auspass.edu.au), USP Brasil (seisrequest.iag.usp.br) y BEG Texas (rtserve.beg.utexas.edu). - EarthScope: +32 redes internacionales (IM, S1, M8, BX, TM, MY, MS, KZ, KG, GB, EI, DK, RO, PL, CZ, CA, HL, WM, MN, NA, JM, SV, KO, C, AI, IN, MM, HK, WI, NZ, CI, AE). GEOFON: de 2 a 28 redes (Israel, Grecia, Europa central y oriental, Mediterráneo…). ORFEUS, IPGP y CSN con redes adicionales. - Metadatos de las fuentes no estadounidenses desde el «fedcatalog» de IRIS (reúne todos los centros del mundo). - Máximo de estaciones: 750 (+ redes completas). Resultado al arrancar: 845 configuradas, 659 en línea (antes 709 / 569), cola de procesamiento en 1 paquete. Versión 0.5.6 (17-oct-2026) — nuevos servidores: INETER (Centroamérica), CSN Chile, ORFEUS e IPGP - Nuevas fuentes SeedLink: INETER/CATAC Nicaragua (165.98.224.59, respaldo 165.98.224.42), CSN Chile (eew.csn.uchile.cl) y ORFEUS (eida.orfeus-eu.org). Se reactivó IPGP (rtserver.ipgp.fr) con más redes. - Causa de que IPGP nunca funcionara: los servidores SeisComP clásicos (SeedLink v3) leen un solo comando por paquete y descartaban los demás. Ahora con ellos la suscripción se hace comando por comando (esperando cada OK). - Cada estación se pide al servidor que de verdad la transmite: al arrancar se consulta la lista de estaciones de cada servidor (INFO STATIONS). Se dejan de pedir ~330 estaciones que EarthScope tiene en catálogo pero no transmite. - Servidor de respaldo por fuente («seedlink_respaldo»): tras 3 fallos seguidos se cambia al otro. - Redes completas: MX, JP, PS, NU, SV, GI, HN. Máximo de estaciones: 650 (+ redes completas). - Nuevo diagnóstico /api/probar_seedlink?h=servidor:puerto (responde, software y redes que ofrece). - Probados y descartados: puerto 8080 de INETER, rtserver.resif.fr y la lista «eida.*» (no existen o no responden). INETER ofrece ~900 estaciones, pero en este momento transmiten unas 35 con canales de banda ancha (las de Nicaragua, NU, no envían datos; varias de Guatemala solo tienen acelerómetro HN). Versión 0.5.5 (17-oct-2026) — red sísmica de Japón - Se agregan las redes JP (Agencia Meteorológica de Japón, JMA: 21 estaciones de banda ancha en todo Japón) y PS (Pacific21/ERI de la Universidad de Tokio: estaciones en Japón y el Pacífico occidental). Ambas llegan en tiempo real por EarthScope (latencia de 5 a 40 s, verificada el 17-oct). - Se agregan completas (redes_completas: MX, JP, PS): todas sus estaciones, sin el filtro de 100 km, con todos sus canales (todos_los_canales ya estaba activo). - Soporte para canales horizontales X/Y (los usa la red PS), además de N/E y 1/2. - No disponibles públicamente en tiempo real: Hi-net, F-net y K-NET de NIED (requieren registro en NIED). JP.JMJ2 solo tiene canal de periodo corto (SH) y no se usa. Versión 0.5.4 (17-oct-2026) — reporte Monitor vs USGS - Nuevos botones en el detalle del sismo: «📊 Monitor vs USGS (PDF)» y «CSV». Listan todos los sismos confirmados por el USGS con: magnitud preliminar (rojo) y final (azul) del monitor, magnitud USGS vigente, diferencia, minutos tras el sismo de la preliminar, la final y la publicación del USGS, y quién publicó primero. Incluye un resumen (diferencia media de magnitud, medianas de tiempo, veces que el monitor se adelantó). - La hora de publicación del USGS se consulta en su catálogo y se guarda en datos\usgs_publicacion.json. - El monitor guarda la hora de cada solución final; para los sismos anteriores se recupera del monitor.log. - Copia de cada reporte en datos\reportes. Versión 0.5.3 (16-oct-2026) — columnas de magnitud preliminar y final - En «Sismos detectados» se agregan dos columnas: «Preliminar» (rojo), la primera magnitud publicada (la de la alerta preliminar), y «Final» (azul), la de la solución final; mientras no se cierra dice «en cálculo». La columna «Mag» queda igual. - Para los sismos anteriores, la magnitud preliminar se recupera del monitor.log al arrancar (cuando el registro todavía la tiene; si no, aparece «—»). - Magnitud mínima 4.0 en todo: alertas (general, 4 zonas y calidad C, ya estaban), catálogo USGS que se compara y se dibuja en el mapa (antes 4.5) y «USGS no detectados» (antes 5.5). - Si el panel se abre como archivo desde C:\monitor_mundial\web, se redirige solo a http://localhost:8767/. - Se corrigió la leyenda del mapa (ya no menciona el doble clic para abrir pestaña nueva). Versión 0.5.2 (16-oct-2026) — se quita el mapa en pestaña nueva y se corrige la saturación en sismos grandes - Se quitó el botón «Pantalla completa / abrir mapa en pestaña nueva» (y el doble clic en el mapa no abre nada). - Diagnóstico del 15-oct (M6.9 Kamchatka, 21:42): la PC se saturó (50 000 paquetes en espera), EarthScope cortó la conexión 5 veces, la solución final salió 18 min tarde y apareció un sismo falso. Causa: con «todos los canales» se decodificaban todas las bandas (×3–4 datos) aunque el motor usa solo una. - Ahora solo se decodifica la banda que usa el motor en cada estación; los demás canales se guardan en el archivo miniSEED sin decodificar (se conservan todos). - La lectura de SeedLink nunca se bloquea: si la PC va retrasada se descarta el paquete más viejo en vez de dejar de leer (eso hacía que el servidor cortara la conexión). - config.json: las estaciones GE se piden solo a GEOFON (EarthScope no las retransmite: 53 sin datos) y la fuente IPGP se desactivó (nunca entrega datos). Versión 0.5.1 (16-oct-2026) — mapa en pantalla completa y panel de salud - «⛶ Pantalla completa»: SOLO ese botón abre una pestaña nueva, y ahora muestra únicamente el mapa mundial con todas las estaciones (nueva página ligera http://localhost:8767/mapa). Antes abría otra copia del panel completo. - Ya no se congela: estaciones, placas y sismos se dibujan con canvas; las estaciones se actualizan en su lugar (sin borrar y recrear cientos de marcadores) y las placas son 3 polilíneas sin eventos. - El doble clic en el mapa del panel ya no abre pestañas (el doble clic en una estación sigue abriendo su sismograma). - Salud, Capa 5: un sismo pequeño «s/m» ya no pone en rojo «Cálculo de magnitudes»; solo si más del 60 % de los últimos 10 sismos no tienen magnitud. - Salud, Capa 1: IPGP (rtserver.ipgp.fr) no entrega sus estaciones por SeedLink; se desactivó en config.json y, si se reactiva y sigue sin responder, aparece como aviso y no como falla. Versión 0.5.0 (16-oct-2026) — magnitud regional para los sismos «s/m» - Causa de los «s/m»: entre 600 y 2200 km (5°–20°) no aplicaba ningún método (ML hasta 600 km; mb desde 20°). 8 de los 9 «s/m» eran del este de Indonesia, vistos solo por estaciones del norte de Australia a esa distancia. - Nueva magnitud mb regional, «mb(reg)»: la misma medición de la P de periodo corto del mb, en estaciones a 5°–20°, con calibración provisional (Q = 5.95) que se corrige sola por intervalos de distancia y profundidad con los mb del USGS (calibracion.json → q_mbR). Necesita 2 estaciones. Se usa cuando no hay Mw/Mwp ni ML de 2 o más estaciones. Aparece en el panel, el reporte PDF y el ticket técnico. - Un sismo que aun así quede «s/m» anota en monitor.log el diagnóstico (cuántas estaciones tenía para cada método). Caso del 15-oct en Salta (estación a 68 km, prof. 290 km): queda por revisar con ese diagnóstico. - Prueba sintética: mb(reg) coincide con el mb telesísmico (±0.1). Todas las pruebas CORRECTO. Versión 0.4.9 (15-oct-2026) — mapa en pestaña nueva - El doble clic en el mapa (o el botón «⛶ Abrir mapa en pestaña nueva») abre el mapa en una PESTAÑA NUEVA del navegador, ocupando toda la pantalla (http://localhost:8767/?mapa=1). El panel sigue abierto en su pestaña. - La pestaña del mapa se actualiza sola (estaciones cada 10 s, sismos cada 5 s, USGS cada 3 min), tiene las placas y las capas, y el doble clic en una estación abre su sismograma. Se puede mover a otro monitor y poner en pantalla completa del navegador con F11. Si ya está abierta, se reutiliza la misma pestaña. Versión 0.4.8 (15-oct-2026) — sección de alertas visible - El botón de prueba de Telegram estaba escondido en la barra de «Estado de las estaciones». Ahora hay una sección propia «Alertas: Telegram, correo y sonido» con «📨 Probar Telegram / correo» (resultado en verde o rojo) y «▶ Probar sonido», más un acceso «📨 Alertas» en el encabezado del panel. - El resultado de cada prueba queda anotado en datos\registros\monitor.log. Versión 0.4.7 (15-oct-2026) — mapa a pantalla completa - Doble clic en el mapa (fuera de una estación) lo abre a pantalla completa; otro doble clic, Esc o el botón «✕ Salir de pantalla completa» lo cierra. También el botón «⛶ Pantalla completa» junto al título del mapa. - En pantalla completa siguen funcionando las capas, las placas, los sismos y el doble clic en una estación (la ventana del sismograma aparece encima del mapa). El doble clic ya no acerca el mapa (use la rueda o +/−). Versión 0.4.6 (15-oct-2026) — todos los canales, placas tectónicas y ninguna estación retirada - Todos los canales sísmicos de cada estación: se suscriben banda ancha (BH, HH), periodo corto (EH, SH) y acelerómetros (HN, BN) en todas sus ubicaciones. El motor sigue usando la banda elegida con metadatos (con ganancia conocida); los demás canales se archivan en miniSEED. Opción estaciones.todos_los_canales. - Ninguna estación se retira: estaciones.dias_sin_datos = 0. Las que no transmiten quedan suscritas siempre y el reporte de estaciones indica desde cuándo no transmiten. Las retiradas antes se vuelven a incluir. - Mapa: límites de placas tectónicas del modelo PB2002 (Bird, 2003) en tres capas: primarios (rojo, entre placas mayores), secundarios (naranja, placas menores como Cocos, Nazca, Caribe) y microplacas (amarillo punteado). Al pasar el ratón se ve qué placas separa y si es subducción. Se descargan una vez (datos\placas_pb2002.json) y se pueden ocultar en el control de capas. Nuevo punto «Placas tectónicas (mapa)» en el estado del sistema. Versión 0.4.5 (15-oct-2026) — IPGP y archivo miniSEED - Causa del rojo en «Conexión SeedLink IPGP»: rtserver.ipgp.fr acepta la conexión y contesta HELLO, pero nunca responde a la suscripción de estaciones; el monitor esperaba 60 s, cortaba y reintentaba sin fin. - SeedLink: si un servidor no contesta la suscripción en lote, la siguiente conexión manda las estaciones de una en una (algunos servidores SeisComP lo requieren). Si tampoco contesta, el estado del sistema explica que el servidor no ofrece esas estaciones en tiempo real o restringe el acceso (ya no «revisa internet»). - Archivo miniSEED continuo ACTIVADO en config.json (2 días). Los registros se juntan en memoria y se escriben cada 20 s, un archivo por canal (antes se abría el archivo con cada registro de 512 bytes). El estado del sistema muestra los GB escritos desde el arranque. Estimado: 6–9 GB por día con ~600 estaciones. Versión 0.4.4 (15-oct-2026) — reporte de estaciones - Botones en «Estado de las estaciones»: «📄 Reporte de estaciones (PDF)» y «CSV». - El PDF trae: totales por estado (conectada = datos en los últimos 2 min; intermitente = datos en las últimas 24 h; sin datos = suscrita sin transmitir, en espera hasta 15 días; retirada = 15 días sin datos), mapa mundial con las estaciones por color, resumen por red y por servidor SeedLink, lista de estaciones conectadas (canal, componentes, latencia) y lista de no conectadas (último dato, sin datos desde, tiempo). - El CSV tiene todas las estaciones con su estado para abrir en Excel. Copia del PDF en datos\reportes. - Nuevas rutas /api/reporte_estaciones.pdf y /api/reporte_estaciones.csv. config.json sin cambios. Versión 0.4.3 (15-oct-2026) — selección de estaciones con cobertura mundial y más redes - Problema encontrado en el arranque del 15-oct: el tope de 450 estaciones se llenaba con las redes densas (CN 82, AU 66, US 55) y las redes nuevas (C1, NZ, CX, OV, PT, AK…) no recibían ninguna estación. - Selección en dos pasadas: 1) una estación cada ~400 km en todo el mundo, de la red preferida de cada zona; 2) relleno hasta el tope con la separación normal (100 km). Así toda región con estaciones queda cubierta. - max_estaciones sube de 450 a 600 (la red MX completa va aparte). - Nuevas redes en EarthScope: EC (Ecuador, comparte en tiempo real con IRIS), CM (Colombia) y BL, BR, ON, NB (Red Sismográfica Brasileña). Las que el servidor no tenga no aportan estaciones. - IPGP: su servicio FDSN (https://ws.ipgp.fr) falló por certificado; se agrega respaldo http://ws.ipgp.fr. Versión 0.4.2 (15-oct-2026) — estaciones sin datos se conservan 15 días; red MX completa - Una estación que no transmite ya NO se retira a los 30 min: se conserva suscrita y se anota desde cuándo está en silencio (datos\estaciones_sin_datos.json, se revisa cada 30 min). Si vuelve a transmitir se borra de la lista. Solo tras 15 días seguidos sin datos se retira y se sustituye; pasados otros 15 días se vuelve a intentar. Plazo configurable: estaciones.dias_sin_datos (15). - Las estaciones retiradas por la regla anterior de 30 min se vuelven a incluir. - Redes completas: estaciones.redes_completas = ["MX"] incluye TODAS las estaciones del SSN disponibles, sin separación mínima ni tope (el resto del mundo se sigue eligiendo con 100 km de separación). Versión 0.4.1 (15-oct-2026) — más redes y servidores en tiempo real - EarthScope: se agregan C1 (Chile), AT (Alaska, tsunamis), PR (Puerto Rico) y AF (AfricaArray). - Nuevas fuentes SeedLink públicas: GEOFON (geofon.gfz.de: GE y CX/IPOC, norte de Chile), GeoNet (link.geonet.org.nz: NZ, Nueva Zelanda, Kermadec, Tonga) e IPGP (rtserver.ipgp.fr: WI Antillas, PF La Reunión, GL Guadalupe). Cuatro conexiones en total (EarthScope pide no más de 5). - «canales» admite varias bandas en orden de preferencia (p. ej. "BH,HH"): cada estación usa la mejor banda con 3 componentes (las redes modernas solo transmiten HH, 100 muestras/s). - Las estaciones que un servidor no transmita se retiran solas a los 30 min (como antes). - config.json: sección «fuentes» y «orden_de_preferencia» actualizadas (Telegram, IA y zonas sin cambios). Versión 0.4.0 (15-oct-2026) — correcciones de la revisión de funcionamiento (2 al 14 de octubre) - Confirmaciones del USGS: ya no se borran a los 2 días. Un sismo más viejo que la lista del USGS (o con el USGS sin responder) conserva su confirmación; el historial y «Confirmados USGS» quedan completos. - ML de una sola estación: se muestra como «4.7?» y no genera alertas ni sonidos (en el Mar de Banda daba ML 4.7–4.8 para sismos de M ≈ 4). Si hay mb/mB/Mwp se usan ésas, como antes. - Sismos pequeños sin magnitud medible: se cierran a los 60 min como «s/m» en lugar de quedar abiertos; los que quedaron abiertos en versiones anteriores se cierran al cargar el historial. - Sismos duplicados: si los arribos de un sismo «nuevo» los explica otro detectado en el mismo par de minutos (a menos de 2500 km, 60 % o más de sus arribos), se unen en uno solo. Corrige el caso del 6-oct-2026 (Kermadec profundo duplicado como «Norfolk, 700 km»). - SeedLink: ya no se registra «WinError 10058» al reconectar tras reemplazar estaciones (era solo aviso). - Verificado: 9 pruebas sintéticas CORRECTO y reproducción de 4 sismos reales guardados sin cambios. - config.json sin cambios. Versión 0.3.9 (13-oct-2026) — sonidos propios y disparadas en rojo - Los 3 pitidos se sustituyen por los sonidos elegidos (carpeta sonidos, WAV convertidos de los MP3): · Preliminar ............ alarma EAS (Japón), si la magnitud llega al umbral de la zona con sonido. · Solución final ........ desfibrilador, si el sismo sonó o llega al umbral de su zona. · M >= 7.5 .............. alarma severa (severe warning), en cualquier zona. · M >= 8.5 .............. alarma de seguridad (17 s), en cualquier zona. Cada sonido suena una sola vez por sismo; si la magnitud sube durante el sismo (p. ej. de 6.8 a 7.6) suena la alarma del nuevo nivel. Umbrales opcionales: alertas.magnitud_alarma (7.5) y alertas.magnitud_alarma_maxima (8.5). alertas.sonido = false los apaga todos. - Botón «▶ Probar sonido» en la sección de alertas; «Sonido en la PC» en el estado del sistema. - El número de «Disparadas ahora» se muestra en rojo. - config.json sin cambios. Versión 0.3.8 (5-oct-2026) — botón «Calibrar ahora» - Nuevo botón «⚖ Calibrar ahora» en la sección de calibración. Consulta el catálogo del USGS del periodo de los sismos guardados (2 a 30 días), empareja todos, aprende de los confirmados que todavía no se usaron (Q(Δ,h) de mb/mB y pares monitor–Mw del USGS) y vuelve a combinar la Mw de todos con las conversiones resultantes. Muestra cuántos se aprendieron, cuántos faltan para ajustar cada conversión y qué magnitudes cambiaron. Cada sismo se aprende una sola vez (pulsarlo de nuevo no duplica datos). - Antes solo se aprendía de cada sismo 75 min después de detectarlo y únicamente si en ese momento estaba confirmado con la lista de 2 días; ahora también se aprovechan los que se confirman después. - Nueva ruta POST /api/calibrar. config.json sin cambios. Versión 0.3.7 (5-oct-2026) — sismograma flotante por estación (como SWARM) - Doble clic en una estación del mapa (o en su fila de la tabla) abre una ventana flotante con su sismograma en vivo, con la misma paleta SWARM. Opciones: componente Z / N / E / Z N E, ventana de 1 a 15 min, filtro, espectrograma opcional y pausa. Se arrastra por la barra y cambia de tamaño por la esquina; hasta 8 ventanas; Esc cierra la de enfrente. El doble clic sobre una estación ya no acerca el mapa. - Sin cambios en el motor ni en config.json. Versión 0.3.6 (5-oct-2026) — detección de sismos traslapados - Corrige el sismo no detectado del 4-oct-2026: Islas Volcano M5.5 (11:12:48 UTC) ocurrió 3 min después de uno de Nueva Bretaña M4.9 (11:09:46). La regla de coda descartaba TODO disparo en la coda del primer sismo; en 35 de sus 39 estaciones la P del segundo cayó en esa ventana y se perdió. - Ahora un disparo en la coda solo se descarta si coincide con una fase tardía del primer sismo que de verdad dispara en la banda de detección según su magnitud y profundidad (S; pP y sP; PP y S lejana desde M5.8; SS desde M6.5; ondas superficiales solo en sismos superficiales de M6 o más). Los demás se conservan y pueden formar un segundo sismo, con requisitos más estrictos (2 estaciones más que el mínimo y separado del primero). - Verificado con los datos reales guardados: la versión anterior solo veía Nueva Bretaña; la nueva detecta también Islas Volcano (19 km del epicentro del USGS) con las mismas 39 estaciones. Reproducción de otros sismos reales (Indonesia M5.9, Hindu Kush, Australia) sin sismos falsos en la coda. - Nueva prueba sintética «traslapados». Todas las pruebas: CORRECTO. - config.json sin cambios. Versión 0.3.5 (4-oct-2026) — sección de registro con el estilo del sismograma en vivo - La sección de registro del detalle de cada sismo usa la misma configuración de gráfica que el sismograma en vivo (paleta SWARM): fondo claro, marco gris por estación, rejilla punteada y traza azul de 1 px como línea continua de alta resolución (2400 puntos mín./máx. por estación en lugar de 1400). - Colores de fases ajustados al fondo claro: P rojo, S verde (antes azul, se confundía con la traza), pP/sP naranja; arribos teóricos punteados; picks manuales gruesos. Marcar/borrar picks funciona igual. - config.json sin cambios. Versión 0.3.4 (4-oct-2026) — comando de reinicio y gráficas al estilo SWARM - Reinicio ordenado: botón «⟲ Reiniciar monitor» en el panel (con confirmación) y reiniciar.bat. Guarda los sismos pendientes, cierra los puertos 8767/8768 y arranca una copia nueva; el panel espera y se recarga solo. Con iniciar.bat el reinicio ocurre en la misma ventana; con el arranque automático (oculto) sigue oculto. No afecta al Monitor de México. La orden solo se acepta desde el propio panel o reiniciar.bat. - Sismograma en vivo con los colores de SWARM: fondo claro, marco gris, rejilla punteada, traza azul de 1 px. Mayor calidad de onda: hasta 3200 puntos mín./máx. unidos como línea continua (muestra por muestra en ventanas cortas), en lugar de barras verticales. - Nuevo espectrograma bajo el sismograma (primera traza, vertical), paleta azul oscuro → azul → cian → verde → amarillo como SWARM; ventanas de ~5 s con 87.5 % de traslape; eje de frecuencia en Hz; opción de ocultarlo y de limitar la frecuencia máxima. Nueva ruta /api/espectrograma. - config.json sin cambios. Versión 0.3.3 (4-oct-2026) — ajuste del panel de estado tras la primera prueba real - «Última localización»: ya no marca rojo por un solo sismo con RMS algo alto (3–4 s es habitual en telesismos). Rojo solo si el RMS mediano de los últimos 5 sismos supera 4 s o si el último sismo quedó sin solución cerrada. - «Sismos del USGS no detectados»: ahora indica magnitud, lugar y hora UTC de cada sismo no detectado y solo marca rojo por los de las últimas 24 h; los anteriores quedan como referencia en verde. - config.json sin cambios. Versión 0.3.2 (4-oct-2026) — panel «Monitoreo del estado del sistema» (sin cambios en detección ni cálculos) - Nuevo panel al final de la página que revisa cada capa del sistema cada 10 s y muestra cada parte con un punto: verde = funciona bien; rojo (parpadea) = problema detectado, con el motivo y qué hacer; gris = desactivado en config.json o todavía no aplica (los primeros 5 min tras arrancar, lo que se está conectando se ve gris). - Revisiones por capa: 1) conexión SeedLink de cada fuente, metadatos FDSN, estaciones en línea, latencia, cola de procesamiento, archivo miniSEED; 2) detectores STA/LTA, tasa de disparos, IA; 3) ciclo principal, bucle de fases, asociador; 4) tablas de tiempos de viaje, uso de ak135/TauP, última localización, pP/sP; 5) magnitudes del último sismo, calibración; 6) ciudades, regiones Flinn-Engdahl, contorno tierra/mar, zonas; 7) catálogo USGS, correcciones, coincidencia y sismos no detectados; 8) base SQLite, guardado, tickets, espacio en disco; 9) servidor, Telegram, correo (resultado del último envío), cola de alertas; 10) tiempo encendido, memoria, registro, candado. - Indicador en el encabezado del panel («sistema OK» o «N problemas») con enlace al nuevo panel. - Nueva ruta de la API: /api/salud. El ciclo principal, el bucle de fases, el USGS, el guardado, los tickets y los envíos de Telegram/correo registran su último latido o error (sismo/health.py). - config.json no cambia. Versión 0.3.1 (2-oct-2026) — corrección de magnitud tras el primer sismo real (sur de Fiyi, us6000tyzi) - Problema: sismo profundo (575 km) de mb 5.0 del USGS; ubicación excelente (14.6 km, profundidad a 18 km), pero Mw estimada 6.0 (+1.0). Causa: Mwp de 7.37 (debía ser ~5.0) que además se daba peso completo a sí misma. En un sismo moderado la señal integrada dos veces es diminuta y la dominaban el error de la línea base (promedio de solo 10 s, integrado dos veces durante 120 s), la deriva lenta y el microsismo oceánico; las pocas estaciones que pasaban el control de ruido eran justamente las más ruidosas. - Mwp: línea base con una recta ajustada a 100 s antes de la P; filtro causal 300–12.5 s que quita el microsismo y conserva la meseta de ∫u; control de ruido 4× sobre el mismo procesamiento; y la Mwp del sismo solo se acepta si pasa en al menos 40 % de las estaciones medidas (si no, «no calculada»). En las pruebas la Mwp pasó de errores de +0.2/+0.5 a ±0.1 en sismos M 5.6–7.0 y −0.1 en M 7.7. - Mw estimada robusta: los pesos se eligen con el tamaño de referencia (mediana de todas las estimaciones), no con la propia magnitud; una estimación que se aparta más de 0.7 de las demás se descarta y el ticket la muestra como «descartada por discrepar». - Comparación con el USGS por tipo de magnitud: si el USGS reporta mb se compara con el mb del monitor, Ms con Ms, Mw con la Mw estimada. El ticket y el panel indican qué se comparó y también la diferencia de la magnitud preferida. El indicador del panel se llama ahora «Sesgo de magnitud (mismo tipo)». - Prueba sintética: nuevo caso «Sur de Fiyi M5.0 a 575 km con ruido sísmico realista» (microsismo y deriva), que reproducía el error (Mwp 7.0, Mw 5.9) y ahora da Mw 5.2. Versión 0.3.0 (1-oct-2026) — Fase 3: fases de profundidad pP/sP, aviso informativo de tsunami y alertas por zona - Tiempos de pP y sP (Tierra esférica, iasp91 sobre el foco) a partir de la tabla de P: retraso pP − P = 2∫√(1/vP² − p²)dz y sP − P = ∫[√(1/vS² − p²) + √(1/vP² − p²)]dz con el parámetro de rayo de la P. - Búsqueda de fases de profundidad por apilamiento: STA/LTA (0.5–2.5 Hz) en estaciones a 25°–95°, profundidad de prueba de 25 a 700 km; se acepta si el pico destaca (≥ 3 veces el fondo), hay ≥ 4 pP y ≥ 6 pP+sP individuales, y no contradice la profundidad que da la P. Las pP/sP se leen con AIC, se agregan al sismo y el localizador usa las diferencias pP − P y sP − P. Hasta 3 intentos conforme llegan estaciones. - El localizador acepta fases P, S, pP y sP. QuakeML marca la profundidad como «constrained by depth phases». - Aviso INFORMATIVO de tsunami (no oficial), umbrales tipo PTWC con la magnitud a una décima: 6.5–7.0 sin amenaza destructiva; 7.1–7.5 posible tsunami a < 300 km; 7.6–7.8 a < 1000 km; ≥ 7.9 cuenca oceánica. Solo profundidad ≤ 100 km y epicentro en el mar o a ≤ 50 km de la costa. Tierra/mar con el contorno de Natural Earth (se descarga una vez a datos\tierra.geojson) o, si no está, con la región Flinn-Engdahl. Lista de ciudades costeras dentro del radio con tiempo de llegada orientativo (700 km/h, línea recta). - Alertas por zona (config.json → alertas.zonas): caja, círculo o "todo", cada una con magnitud mínima, magnitud para calidad C y sonido; gana la primera zona que contiene el epicentro. Por omisión: México y Centroamérica M 5.0; Norteamérica y Caribe M 5.5; Sudamérica M 6.0; resto del mundo M 6.5. Un posible tsunami (local o mayor) se avisa siempre (alertas.alertar_tsunami). - Telegram/correo: zona de alerta, sección TSUNAMI con 🌊 cuando hay posible tsunami (y en el encabezado). - Ticket técnico: fases de profundidad (profundidad solo con P vs con pP/sP), zona de alerta y sección 5b TSUNAMI. - Panel: distintivo TSUNAMI en la tabla, zona de cada sismo, recuadro de tsunami y fases de profundidad en el detalle, pP/sP en ámbar en la sección de registro y nueva tabla «Zonas de alerta». - Prueba sintética: siete sismos; nuevos Alaska M7.7 (aviso regional de tsunami) e Hindu Kush a 210 km visto solo desde más de 25° (la profundidad pasa de 200 ± 69 km solo con P a 210 ± 2 km con pP/sP). Versión 0.2.0 (1-oct-2026) — Fase 2: magnitudes globales mb, mB, Ms y Mw; calibración contra el USGS; tickets globales - mb (IASPEI): log10(A/T) + Q(Δ,h) − 3.0 con A en nm de la P en periodo corto (0.7–2.5 Hz, ventana de 30 s), T ≤ 3 s, 20°–100°. Se corrige la amplitud por la respuesta del filtro en el periodo medido. - mB_BB (IASPEI): log10(Vmax/2π) + Q(Δ,h) − 3.0, velocidad vertical en banda ancha (0.033–3 Hz) hasta 60 s tras la P. No se satura tan pronto como mb. - Ms_BB (IASPEI): log10(Vmax/2π) + 1.66·log10(Δ) + 0.3 con la onda Rayleigh (3–60 s), 2°–160°, solo sismos de menos de 60 km. Llega con la Rayleigh (hasta 1 h después): el sismo se sigue actualizando 75 min. - Mw estimada: promedio ponderado de Mwp, mB, mb y Ms convertidas a Mw (Scordilis 2006; Bormann y Saul 2008), con pesos según el intervalo de validez de cada una (mb satura arriba de 6; Mwp pesa menos abajo de 6). Es la magnitud preferida cuando hay al menos dos tipos. - Calibración automática contra el USGS (datos\calibracion.json): · Q(Δ,h) de mb y mB se corrige por intervalos de 10° y tres clases de profundidad con los mb del USGS. · Con 15 sismos o más con Mw del USGS, cada conversión a Mw se reemplaza por una recta ajustada (robusta). Se aprende una sola vez por sismo, al cerrarlo (75 min), cuando el USGS ya revisó su magnitud. - La función Q(Δ,h) de Gutenberg-Richter (1956) se usa en forma aproximada (curva suavizada + corrección por profundidad); la calibración contra el USGS absorbe la diferencia con la tabla original. - Magnitudes por estación guardadas una sola vez (antes la Mwp de una estación podía borrarse cuando sus datos salían de la memoria). - Ticket técnico global: todas las magnitudes con desviación, número de estaciones, tabla por estación (Dist °, Mwp, mb con A y T, mB, Ms), conversiones a Mw en uso y su origen; QuakeML con magnitudes mb, mB, Ms_BB, Mw y magnitudes por estación (stationMagnitude). - Panel: magnitudes en la tabla de sismos y en el detalle, magnitudes por estación, nueva sección «Calibración de magnitudes contra el USGS»; CSV con mb, mB, Ms y Mw. - Alertas y reporte PDF con mb, mB, Ms y Mw estimada. - Prueba sintética: cada sismo lleva P de periodo corto, P de 5 s y onda Rayleigh con las amplitudes de su magnitud; se comprueban Mw, mb, mB y Ms (± 0.3). Versión 0.1.0 (1-oct-2026) — Fase 1: datos globales, Tierra esférica, asociador y localizador globales, mapa mundial - Tiempos de viaje en Tierra ESFÉRICA, 0–180° y 0–700 km de profundidad: · ak135 con TauP de ObsPy (tabla calculada al instalar), o · trazador de rayos propio con el modelo iasp91 completo (corteza, manto, núcleos), capas con gradiente lineal integradas analíticamente; coincide con la integral exacta en < 0.1 s. Primera P: P/Pn/Pg, Pdiff (hasta 125°) y PKP/PKIKP; primera S: S/Sn/Sg y Sdiff. - Detección doble por estación: STA/LTA local (1–30 s, 1.5–8 Hz) y de ondas lejanas (3–60 s, 0.5–2 Hz), picado AIC en la banda de cada detector y control SNR. - Asociador global en dos etapas (malla de Fibonacci 2° × 4 profundidades + malla fina 0.25° × 8 profundidades) con calificación por verosimilitud; prueba varios grupos y se queda con el que localiza de forma congruente. Une automáticamente detecciones duplicadas del mismo sismo. - Localizador global L1 + L2 sobre la esfera, 0–700 km, elipse 68 %; error de modelo que crece con el tiempo de viaje. Correcciones por estación separadas para trayectorias regionales y telesísmicas. - Filtros contra falsas detecciones: RMS, hueco azimutal, congruencia de la red (las estaciones más cercanas deben registrar la P), fases de núcleo solo en sismos grandes, coda y fases tardías de un sismo ya detectado no forman sismos nuevos. - Magnitud: Mwp (Tsuboi) en 3°–95° con control de señal/ruido; ML solo < 600 km. - Estaciones: selección mundial con separación mínima de 150 km, preferencia por la red GSN, selector de ubicación por estación (00 o 10); sustitución automática de estaciones sin datos. - Lugares: 465 ciudades de referencia en todo el mundo y región Flinn-Engdahl (con ObsPy). - Panel: mapa mundial, filtro por región, distancias en grados, sección de registro hasta 1300 s, sismograma en vivo de las 12 estaciones más cercanas al último sismo. - Alertas Telegram/correo con títulos "SISMO MUNDIAL — PRELIMINAR" y "SISMO MUNDIAL CONFIRMADO". - Ticket técnico (TXT, JSON, QuakeML) y reporte PDF con mapa mundial de estaciones y residuos. - Convivencia con el Monitor México: carpeta C:\monitor_mundial, panel en el puerto 8767 (no 8766, que es el candado del Monitor México), candado 8768, arranque MonitorSismicoMundial.bat. - Prueba sintética: cinco sismos (Chile M7.0, Japón M6.6, Fiyi M6.8 a 550 km, México M6.0, Kermadec M5.6 con solo 14 estaciones) y pruebas de solo ruido (0 falsas detecciones).