Come hackerare una stazione meteo
I territori alpini di confine come il Trentino hanno a disposizione delle ricche serie storiche di dati meteorologici. Si possono usare per produrre visualizzazioni di dati utili all’agricoltura, all’economia dei servizi, al turismo e alla viabilitá? A quanto pare, sì.
Ci sono però molti problemi pratici da risolvere. I programmatori di Dimension, a Trento, ci hanno lavorato per qualche mese. Ecco cosa hanno scoperto.
**Questo è il primo di una serie di post che raccontano il lavoro delle Gilde, il formato di ricerca e sviluppo ideato da Dimension, la società gemella di Machineria. Le Gilde raccolgono talenti ed entusiasmi, e li mettono alla prova su progetti troppo ambiziosi per i prudenti cronici***
Cosa abbiamo scoperto
- I Dataviz delle serie storiche di dati meteorologici aiutano non solo a capire meglio il cambio climatico già avvenuto, ma anche a prevederne l’evoluzione futura.
- Un ente locale potrebbe offrire ai suoi utenti — dall’agricoltore all’albergatore, dall’imprenditore al turista — una predizione climatica accurata di una zona molto circoscritta, per esempio a livello di valle, o addirittura di paese.
- Amministrazioni locali, aziende ed individui potrebbero consultare visualizzazioni che restituiscono con immediatezza un quadro articolato del cambio climatico, e prendere decisioni che tengono conto dell’impatto ambientale.
- Esistono online strumenti open-source che permettono di estrarre grandi quantità di dati, di indicizzarli e di visualizzarli attraverso grafici ben più immediati di una qualsiasi tabella numerica.
- Tuttavia, con questi strumenti è molto difficile superare le limitazioni dei grafici standard disponibili.
- Per realizzare visualizzazioni in modo efficiente è necessario rielaborare e allineare i dati storici prima di indicizzarli.
- L’incompletezza dei dati va quindi superata prendendo delle decisioni che non sono solo tecniche, e questo potrebbe rappresentare una sfida per alcune amministrazioni locali.
Le stazioni meteorologiche in Trentino raccolgono dati dal 1920. Il collegamento tra le valli e i centri maggiori non è mai stato semplice, ma in qualche modo il giovane stato Italiano cominciò a raccogliere informazioni, usando gli strumenti della Reale Commissione per gli Studi sul Regime Idraulico del Po e quelli del Magistrato delle Acque di Venezia. Dal 1974 questa responsabilità è passata alla Provincia Autonoma di Trento, che tramite il suo braccio operativo Meteo Trentino nel 1997 ha aggregato e pubblicato online tutte queste serie sul sito Storico Meteotrentino.
Il team Dimension che si è occupato di questa ricerca — Katja Abramova, Chiara Pellegrini, Michele Bressan, Stefano Torresani e Andrés Reyes — era di fatto interessato proprio all’aspetto di visualizzazione di grande banche dati. Solo più tardi, per una coincidenza di conoscenze ed interessi personali, il gruppo ha deciso di concentrarsi sui dati meteorologici.
Dopo un primo approfondimento sullo stato dell’arte nel settore della visualizzazione dati, il team ha affrontato il primo problema, quello di recuperare le informazioni dal database di Meteo Trentino. Usando Node.js si poteva estrarre un file .csv per ogni singola stazione e per ognuna delle dieci metriche disponibili: pioggia, temperatura minima, temperatura massima, radiazione, umidità, e molte altre. Il passo successivo era quello di scrivere del codice che aggregasse tutte le stazioni e tutte le misurazioni. Anche con un programma ad hoc tuttavia, per estrarre ed interpretare centinaia di migliaia di file, c’è voluto un mese! Peso dell’operazione: 200 milioni di records e 10 Gigabyte di dati.
Le località delle stazioni meteo sono state rimappate sui comuni oggi esistenti, ma a quel punto si sono palesate alcune importanti differenze nei dati a disposizione. Nell’arco di un secolo infatti, il numero di stazioni era calato, passando da 200 a circa 130. Alcune sono state semplicemente abbandonate. Inoltre, negli ultimi 30 anni la frequenza di rilievo di ogni stazione era sensibilmente aumentata. Purtroppo anche le scale di grandezza usate per registrare i fenomeni naturali che ogni stazione prendeva in considerazione sono cambiate nel tempo, rendendo i dati esistenti molto disomogenei. A quanto pare nessuno era consapevole di questo fatto prima dell’esperimento.
Per queste ragioni, il team ha deciso di considerare solo i dati delle 130 stazioni ancora attive. Questa scelta obbligata ha inevitabilmente spostato l’attenzione sul presente, più ricco di dati, e probabilmente comporta un bias nelle visualizzazioni finali.
Usando ElasticSearch e Python i dati sono stati infine indicizzati per poi realizzare tre visualizzazioni con Kibana: una panoramica di tutti i dati delle stazioni, i cambiamenti di temperatura negli ultimi 30 anni, una raccolta di misurazioni statiche su singoli parametri negli ultimi 30 anni.
Costruire le mappe non è stato semplice.
Quelle standard disponibili su Kibana non arrivavano al dettaglio del Trentino. Quindi dal sito WebGIS della Provincia Autonoma di Trento il team ha scaricato una mappa con un livello di dettaglio che arriva fino ai comuni. Poi l’ha convertita in GeoJSON, e di nuovo ha trasformato il file in coordinate WGS84. Avendo le coordinate delle stazioni meteo, tutti i punti sono stati ricollocati su questa mappa.
Per importarla in Kibana è stato necessario capire come collegare i dati GeoJSON con quelli indicizzati. Il team ce l’ha fatta, e a quel punto ha potuto cominciare a visualizzare i dati.
Le speranze di realizzare animazioni però sono andate in parte deluse: la flessibilità di Kibana si è rivelata insufficiente, così come la documentazione disponibile. Alcuni problemi specifici, come ad esempio l’impossibilità di visualizzare delle liste di valori, su Kibana si scoprono soltanto dopo aver indicizzato grandi quantità di dati. Alcuni strumenti che parevano promettenti, come il Time Plugin di Kibana, si sono rivelati instabili.
Chiarire questi problemi è stata una lezione preziosa, ma ancora di più lo è il fatto che si può immaginare una soluzione. Un ente locale come Meteo Trentino potrebbe finanziare del lavoro preliminare per rendere omogenei i dati delle serie storiche, così da renderli effettivamente comparabili. A quel punto si potrebbe visualizzare come e quanto il clima è cambiato in un secolo, e puntare a predire cambiamenti futuri localizzati anche a livello di un piccolo comune di montagna.
Si tratterebbe di un servizio del tutto diverso dai generici inviti alla mobilitazione, spesso allarmistici, che prendono spunto da dati inequivocabili sui cambiamenti climatici, ma falliscono perché non intercettano esigenze reali che si manifestano a livello locale.
Spiegare a un agricoltore che proprio nel suo campo di mele farà molto più caldo nei prossimi dieci anni potrebbe invece produrre effetti concreti a livello di comportamenti micro economici.