Progetto Etna
Un framework sperimentale per esplorare il monitoraggio vulcanico in tempo reale, l'analisi e l'allertamento, basato su dati pubblici e software libero.
⚠️ Disclaimer Importante
Etna è un software sperimentale, valido principalmente a fini di ricerca. I dati e le analisi prodotte sono il risultato di elaborazioni automatiche e non sono validati da personale esperto. Questo strumento non è in alcun modo pensato per prendere decisioni critiche o per la sicurezza personale. Per tali finalità, si rimanda sempre e comunque alle fonti ufficiali ed autoritative come l'Istituto Nazionale di Geofisica e Vulcanologia (INGV) e il Dipartimento della Protezione Civile.
Il codice sorgente non è pubblico. Per un suo uso effettivo, per una collaborazione o per un suo ulteriore sviluppo, l'autore è contattabile attraverso i recapiti presenti nella sezione Autore.
Un Esperimento di Progettazione
Il progetto ETNA va inteso come un esperimento di progettazione, sviluppo e deployment. Il suo scopo è esplorare l'integrazione della cosiddetta intelligenza artificiale sia nel ciclo di sviluppo software (DevOps) sia nel ciclo di vita del prodotto finale. La piattaforma risultante espone componenti di IA (come modelli di anomaly detection e LLM per il reporting) e si rende a sua volta disponibile tramite API per alimentare ulteriori sistemi di elaborazione, consentendo nuovi livelli di astrazione e deduzione.
Conclusioni
ETNA si propone come uno strumento per il monitoraggio vulcanico, che prova a combinare tecniche geofisiche con approcci di intelligenza artificiale. I suoi aspetti caratterizzanti sono l'integrazione tra analisi dati e machine learning, l'automazione dei processi, l'accessibilità tramite dashboard web e l'esplorazione di approcci innovativi come l'uso di agenti LLM per il reporting.
Quick Start Guide
Questa guida fornisce i passaggi essenziali per avviare il progetto ETNA in un ambiente locale. Per istruzioni più dettagliate, fare riferimento alla documentazione fornita con il codice sorgente.
1. Prerequisiti
Assicurarsi di avere installato Docker e Docker Compose sul proprio sistema.
2. Ottenere il Codice Sorgente
Una volta ottenuto il pacchetto del progetto (previo contatto con l'autore), decomprimerlo e navigare nella directory principale.
3. Configurazione
Creare un file .env per le variabili d'ambiente (es. token di Telegram) e, se necessario, personalizzare il file config/stations.yaml per definire le stazioni di monitoraggio.
4. Avviare i Servizi
Lanciare l'intera architettura con un singolo comando dalla directory principale del progetto.
docker-compose up -d
Dopo l'avvio, la dashboard sarà accessibile all'indirizzo http://localhost:8501.
Architettura Dettagliata
L'architettura del sistema ETNA è modulare e segue un flusso di elaborazione dati ben definito. Cliccare su un blocco per visualizzarne la descrizione e capire il suo ruolo nel processo.
Orchestrazione: Scheduler
Avvia i task periodici
Fonti Dati
Acquisizione
Elaborazione
Analisi & Modelli
Output & Delivery
Seleziona un componente
Clicca su uno dei blocchi a sinistra per vedere i dettagli.
Diagrammi UML
Per descrivere formalmente la struttura e il comportamento del sistema, sono stati realizzati alcuni diagrammi UML. Per maggiori dettagli, consultare il file UML.md.
Diagramma dei Componenti
Mostra i principali componenti software del sistema e le loro interdipendenze.
Diagramma dei Casi d'Uso
Descrive le interazioni principali tra l'attore (Vulcanologo) e il sistema.
Diagramma di Sequenza (Generazione Report)
Illustra la sequenza di chiamate tra i componenti per generare un report giornaliero.
Sviluppo & CI/CD
Il progetto adotta pratiche di sviluppo moderne, con un flusso di Integrazione e Deployment Continuo (CI/CD) automatizzato. Questo garantisce che ogni modifica al codice venga testata e rilasciata in modo efficiente e affidabile.
Pipeline di Deployment
Il workflow di deployment si attiva ad ogni aggiornamento del codice e segue questi passaggi:
Visione Futura & Roadmap
Questo progetto nasce come uno scheletro funzionale, ma se ulteriormente sviluppato potrebbe diventare uno strumento completo e adottabile. Questa sezione delinea i prossimi passi e la visione a lungo termine.
Roadmap di Sviluppo
Fase 1: Consolidamento e Validazione
Stabilizzare l'architettura attuale, migliorare l'affidabilità dei modelli di ML e validare i risultati con dati storici e il confronto con esperti vulcanologi.
Fase 2: Espansione Fonti Dati
Integrare nuove tipologie di dati: geochimici (CO₂, SO₂), deformazioni del suolo (GNSS, InSAR) e dati da telecamere termiche per una visione multi-parametrica completa.
Fase 3: Intelligenza Aumentata
Sviluppare modelli di forecasting che combinino dati multi-parametrici. Potenziare gli agenti LLM per analisi comparative e per la generazione di scenari probabilistici.
Fase 4: Piattaforma Collaborativa
Trasformare ETNA in una piattaforma aperta per integrare modelli diversi, condividere dati e collaborare sull'analisi dei fenomeni vulcanici.
Riflessioni & Potenziale Strategico
Questo progetto può fornire un complemento agile e innovativo, capace di esplorare nuove frontiere e fungere da ponte.
Cruscotto Unificato e Aggregatore
Potrebbe divenire il prototipo ideale per un'interfaccia che aggreghi dati da fonti diverse (sismicità da EtnaRCSC, deformazioni da dati SAR, citizen science da TefraNet) in un'unica vista integrata, rispondendo a un'esigenza di sintesi.
Sandbox per l'Innovazione Rapida
Grazie al suo stack tecnologico leggero, ETNA funge da laboratorio per il rapid prototyping di tecnologie all'avanguardia (come l'uso di LLM per il reporting), validando concetti prima di una potenziale e più complessa integrazione.
Precursore
La pipeline di elaborazione del progetto è di fatto un prototipo embrionale di un engine di machine learning per ricerca predittiva multimodale.
Stack Tecnologico
Il progetto si basa su un insieme di tecnologie open-source moderne. Questa sezione elenca gli strumenti principali che costituiscono l'ossatura tecnica del sistema.
Python 3
Obspy, Pandas
PyTorch
Docker
FastAPI
Streamlit
Ollama
GitHub Actions
Funzionalità Chiave
Le funzionalità del sistema coprono l'intero ciclo di vita del monitoraggio, dall'acquisizione dei dati alla loro interpretazione.
Acquisizione Centralizzata
Aggrega dati sismici, infrasonici e di degassamento da diverse reti di monitoraggio in un unico punto.
Elaborazione Parametri
Calcola indicatori chiave come SSAM, RMS, polarizzazione e correlazione per quantificare l'attività vulcanica.
Rilevamento Anomalie
Utilizza un Autoencoder Convoluzionale per identificare pattern anomali e potenzialmente precursori nei dati.
Reporting Assistito da LLM
Impiega agenti software per generare bozze di report giornalieri, sintetizzando i dati in linguaggio naturale.
Dashboard Interattiva
Offre un'interfaccia web (Streamlit) per visualizzare grafici, mappe e report in modo intuitivo.
ETNA GPT Expert
Un assistente virtuale (Custom GPT) per guidare gli utenti nell'analisi dei dati e nella comprensione del sistema.
Informazioni sull'Autore
Il progetto ETNA nasce dall'esperienza e dall'interesse del suo sviluppatore, Giovanni Novelli.
Giovanni Novelli
Informatico, Ph.D.
Il progetto ETNA è stato sviluppato da Giovanni Novelli, un informatico con esperienza sia nella pubblica amministrazione che nella ricerca. Nato a Catania, ha conseguito una Laurea in Scienze dell'Informazione e un Dottorato di Ricerca (Ph.D.) in Informatica presso l'Università di Catania. La sua attività di dottorato si è concentrata su temi come Grid/Cloud Computing e sistemi multi-agente.
Il progetto ETNA cerca di unire le competenze maturate dall'autore. La sua architettura si basa su conoscenze di sistemi distribuiti, intelligenza artificiale e analisi dati. È un'applicazione tecnica che nasce dall'interesse di unire la ricerca con la soluzione di problemi concreti, applicando alcune tecnologie al monitoraggio del vulcano Etna.
Codice Sorgente e Contributi
Accesso al Codice e Collaborazione
Questo progetto è presentato a scopo dimostrativo. Il codice sorgente non è disponibile pubblicamente per evitare un uso improprio.
La pagina web funge da vetrina per illustrare la visione e l'architettura del sistema.
Se sei interessato a esplorarne il funzionamento, contribuire allo sviluppo o discutere possibili applicazioni, sei invitato a contattare direttamente l'autore.
Risorse Ufficiali
Per dati validati e comunicazioni ufficiali, consultare sempre le fonti primarie.