Patruno, Di Giacomo, monitoraggio ambientale
Transcript
Patruno, Di Giacomo, monitoraggio ambientale
LINUXDAY 2013 Il progetto di rete per il monitoraggio ambientale partecipativo; software libero ad uso scientifico, panoramica dell'uso e sviluppo al Servizio Idro-Meteo-Clima Paolo Patruno Area Modellistica Meteorologica e Centro di Competenza Nazionale Unità Modellistica Previsionale Emanuele Di Giacomo Area Servizi Informatici Unità Gestione Sistemi e Data Base ERLUG Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 1 LINUXDAY 2013 Servizio Idro-Meteo-Clima Agenzia regionale per la prevenzione e l´ambiente dell´Emilia-Romagna Compiti dell'agenzia: ● monitoraggio delle diverse componenti ambientali ● controllo e vigilanza del territorio e delle attività antropiche ● ● attività di supporto nella ambientale di piani e progetti valutazione dell´impatto realizzazione e gestione del Sistema informativo regionale sull´ambiente Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 2 LINUXDAY 2013 Flusso dati e software al SIMC Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 3 LINUXDAY 2013 GDAL - Geospatial Data Abstraction Library http://www.gdal.org GDAL is an open source access library for raster geospatial data formats GDAL provides tools to work with raster images, with functions such as reprojection, geolocation and format conversion GDAL has bindings in a large number of programming languages (C, C++, Python, R, Java, and more) and it is a defacto standard used by a wide range of existing software. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 4 LINUXDAY 2013 Qgis / Grass QGIS: – – è un Sistema di Informazione Geografica Open Source facile da usare È possibile visualizzare, gestire, modificare, analizzare dati, e comporre mappe stampabili. GRASS: – – – – Geographic Resources Analysis Support System E' un Sistema Informativo Geografico (GIS) utilizzato per la gestione, l'elaborazione, il spaziale e la visualizzazione di dati geografici http://grass.osgeo.org/ Bologna, 2013-10-26 modellamento ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 5 LINUXDAY 2013 meteosatlib software Meteosatlib is a suite of libraries, tools and GDAL plugins to read and write Meteosat data in several formats. In particular the GDAL plugin has been specifically developed by ARPA-SIMC to allow the library to manipulate the MSG satellite data via GDAL. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 6 LINUXDAY 2013 The Arkimet archiving system Set di tool per archiviazione e distribuzione di dati ambientali Accesso locale (filesystem), remoto (HTTP) omogeneo tramite CLI Integrità dei dati: sono trattati come una stringa binaria opaca, in sola lettura e mai modificata E' possibile estendere facilmente (attualmente GRIB, BUFR, ODIMH5) i formati supportati Deploy molto semplice e veloce Arkiweb: interfaccia web http://www.smr.arpa.emr.it/arkiweb Sviluppato dal SIMC Licenza GPLv2+ http://svn.smr.arpa.emr.it/arkimet/arkimet/trunk Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 7 LINUXDAY 2013 Arkimet: come lavora Data is examined and metadata are extracted Data and metadata are acquired into datasets Datasets are information self-contained collections of homogeneous Datasets store data, metadata, and also summaries of the data A summary can be used to explore the contents of a dataset, or the output of a query, without extracting the data Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 8 LINUXDAY 2013 Arkimet: distributed Data is accessible locally and remotely, in the same way Remote access uses a client-server model, over standard HTTP Any centre / unit can deploy their own Server can share local and remote datasets – It is possible to create a public front-end server that aggregates several internal servers Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 9 LINUXDAY 2013 Arkimet: distributed Output data Centre A arki-query arki-server (public) Private local dataset Local dataset Bologna, 2013-10-26 Centre B arki-server (public) arki-server (internal) Local dataset Local dataset Local dataset Local dataset Local dataset ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 10 LINUXDAY 2013 I modelli meteo-marini I modelli meteo-marini SWAN Simulating waves Nearshore http://www.swan.tudelft.nl/ Modello di previsione dello stato del mare sviluppato da Delft University of Technology. Codice in F90. Gira in parallelo su 32 processori. SWAN MEDITARE Fornisce quotidianamente (00UTC) previsione del moto ondoso (altezze, periodi, direzione) a +72h su Mediterraneo-Italia-Regione. Forzante COSMO-I7. Operativo al SIMC dal 2004 Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 11 LINUXDAY 2013 I modelli meteo-marini I modelli meteo-marini AdriaROMS Regional Ocean Modeling System Adriatico http://www.myroms.org/ Modello oceanografico idrostatico sviluppato in Fortran F90/F95. The parallel framework is coarse-grained with both shared- and distributed-memory paradigms coexisting in the same code. The shared-memory option follows OpenMP 2.0 standard. ROMS has a generic distributed-memory interface that facilitates the use of several message passage protocols. Currently, the data exchange between nodes is done with MPI. However, other protocols like MPI2, SHMEM, and others can be coded without much effort. AdriaROMS circolazione Fornisce quotidianamente (00UTC) previsione delle correnti, temperatura, salinità, ecc. a +72h. Forzante COSMO-I7 Operativo al SIMC dal 2005 Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 12 LINUXDAY 2013 I modelli meteo-marini costieri I modelli meteo-marini costieri Xbeach- morfodinamica costiera http://oss.deltares.nl/web/xbeach/ Beach is a two-dimensional model for wave propagation, long waves and mean flow, sediment transport and morphological changes of the nearshore area, beaches, dunes and backbarrier during storms. It is a publicdomain model that has been developed with funding and support by the US Army Corps of Engineers, by a consortium of UNESCO-IHE, Deltares (Delft Hydraulics), Delft University of Technology and the University of Miami. Codice in Fortran. Gira parallelo. Xbeach gira quotidianamente al SIMC in cascata alla modellistica marina (SWAN e AdriaROMS) per alimentare un Early Warning System regionale ai fini di protezione civile e finalizzato al rischio costiero. Gira in modo monodimensionale su 9 transetti regionali. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 13 LINUXDAY 2013 I modelli meteo-marini costieri Delft3D: modellistica di diffusione in mare Implementato nell’ambito di alcuni progetti regionali per lo studio della diffusione di inquinanti microbiologici in mare per la salvaguardia delle acque di balneazione. Software utilizzato Delft3D (sviluppato da Deltares) http://www.deltaressystems.com/hydro/ product/621497/delft3d-suite Software attualmente free che noi utilizziamo per effettuare casi studio in ambiente windows. Utilizza campi da modelli COSMO, AdriaROMS e SWAN. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 14 LINUXDAY 2013 Oil-spill GNOME http://response.restoration.noaa.gov/oil-and-chemical-spills/oil-spills/response-tools/gnome.html GNOME (General NOAA Operational Modeling Environment) is the modeling tool the Office of Response and Restoration's (OR&R) Emergency Response Division uses to predict the possible route, or trajectory, a pollutant might follow in or on a body of water, such as in an oil spill. Rilascio accidentale sostanze tossiche e pericolose GNOME Oil Spill Model Previsione “on demand” utilizzando come forzanti veni COSMO e correnti di AdriaROMS a +72 ore per: ● oil spill ● search and rescue ● trasporto Inquinanti ● trasporto alghe (mucillagini) Attualmente gira “on demand” in ambiente Windows. Viene fornito direttamente l’exe e non i sorgenti da compilare, ma stanno per rilasciare una release con i sorgenti Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 15 LINUXDAY 2013 CHIMERE: chemistry-transport model modello multi-scala per la previsione e la simulazione della qualità dell'ariahttp://www.lmd.polytechnique.fr/chimere/ sviluppato dagli istituti francesi IPSL/LMD, INERIS e LISA; provided under the GNU General Public License (since 2000); copyright Institut Pierre-Simon Laplace, INERIS, CNRS in ARPA-SIMC è operativo per analisi e previsioni quotidiane su dominio Nord Italia dal 2004; usato per analisi di scenario che orientano la definizione dei piani di risanamento dell'aria ● Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 16 LINUXDAY 2013 Calmet pre-processore meteorologico; serve principalmente per studiare il campo di vento in terreno montuoso e l'intensita' della turbolenza atmosferica sviluppato e mentenuto dal "Gruppo di Studi Atmosferici" delle ditta americana "TRC Solutions" Presso SIMC viene usato per studiare la dispersione degli inquinanti in atmosfera a piccola scala (10-50 km) Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 17 LINUXDAY 2013 freely available language and environment for statistical computing and graphics which provides a wide variety of statistical and graphical techniques: linear and nonlinear modelling, statistical tests, time series analysis, classification, clustering, etc. http://cran.r-project.org/ usato in ARPA-SIMC per: verifica modelli previsionali meteo, analisi spaziale di dati di precipitazione, analisi statistica di dati di inquinamento atmosferico ● p.es. package openair: http://www.openair-project.org ● Making available a range of existing techniques and developing new ones for the analysis of air pollution data ● Making it easy to carry out sophisticated analyses quickly, in an interactive and reproducible way Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 18 LINUXDAY 2013 Grafica: prodotti europei Magics++: librerie per plottaggio dati meteorologici previsti e osservati sviluppata da ECMWF Metview tool grafico per analisi e plottaggio dati meteorologici previsti e osservat sviluppata da ECMWF ● Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 19 LINUXDAY 2013 Grafica: prodotti statunitensi The NCAR Command Language (NCL), sviluppato dal National Center for Atmospheric Research (NCAR) è un linguaggio interpretato disegnato specificatamente per il processamento e visualizzazione di dati scientifici ● NCL può leggere e scriveree netCDF-3, netCDF-4 classic, netCDF-4, HDF4, binary e dati ASCII. Può leggere HDF-EOS2, HDF-EOS5, GRIB1, GRIB2, and OGR files (shapefiles, MapInfo, GMT, Tiger). NCAR Graphics is a Fortran and C based software package for scientific visualization The Grid Analysis and Display System (GrADS) è una scrivania interattiva usata per accedere facilmente, manipolare e visulizzare dati delle scienze della terra. GrADS ha due data models per gestire dati su grigliato e stazioni. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 20 LINUXDAY 2013 Vapor 3D VAPOR is the Visualization and Analysis Platform for Ocean, Atmosphere, and Solar Researchers. VAPOR provides an interactive 3D visualization environment that runs on most UNIX and Windows systems equipped with modern 3D graphics cards. A desktop solution capable of handling terascale size data sets Advanced interactive 3D visualization tightly coupled with quantitative data analysis Support for multi-variate, time-varying data Integrated with Python. Support for 3D visualization of WRF-ARW datasets SIMC supporta l'importazione da COSMO model Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 21 LINUXDAY 2013 Grib GRIB (GRIdded Binary or General Regularly-distributed Information in Binary form) is a concise data format commonly used in meteorology to store historical and forecast weather data. GRIB2 permits the encoding, among others, of ensemble, probability, and percentile forecasts, forecast errors fields, matrices, satellite image data, radar data, the analysis and forecast of accumulated and averaged parameters, cross/timesections, and offers enhanced capability to describe fields involving multiple time periods. GRIB2 supports Spectral data, Multi-dimension data, more compression schemes (Limited support for images in particular with the introduction of JPEG 2000 and PNG). Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 22 LINUXDAY 2013 Bufr The Binary Universal Form for the Representation of meteorological data (BUFR) is a binary data format maintained by the World Meteorological Organization (WMO). BUFR was designed to be portable, compact, and universal. Any kind of data can be represented, along with its specific spatial/temporal context and any other associated metadata. In the WMO terminology, BUFR belongs to the category of table-driven code forms, where the meaning of data elements is determined by referring to a set of tables that are kept and maintained separately from the message itself. Descriptors: all element descriptors will be found in BUFR specification section known as "Table B". The Table B definition of an element descriptor includes its number, short text definition, decoding parameters (bit width, scale factor, and bias), and type (numerical, character string, code table, etc.). Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 23 LINUXDAY 2013 Software di decodifica Grib/Bufr WREPORT: a featureful C++ library for BUFR and CREX encoding and decoding http://sourceforge.net/p/wreport/home/Home/ The ECMWF GRIB API is an application program interface accessible from C, FORTRAN and Python programs developed for encoding and decoding WMO FM-92 GRIB edition 1 and edition 2 messages. A useful set of command line tools is also provided to give quick access to GRIB messages. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 24 LINUXDAY 2013 DB-all.e tool per gestione dati puntuali meteorologici basato sulla loro rappresentazione fisica sviluppato dal SIMC, utilizzato per verifica applicazione operativa filtro di Kalman, casi studio modelli, Corredato di Provami, sofisticato programma interattivo per la: – – – – Visualizzazione Ricerca Modifica Esportazione Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 25 LINUXDAY 2013 DB-All.e DB-All.e is a fast on-disk database where meteorological observed and forecast data can be stored, searched, retrieved and updated. Many modern meteorological applications, like data assimilation, quality control and verification, need complex procedures for input of meteorological data, such as decoding and standardisation, and their organisation in memory. The need to manage a high number of measurement points and the need of long spans of space and time dimensions lead to a disproportionate use of RAM and increase the complexity of programming. This framework allows to manage large amounts of data using its simple Application Program Interface (API), and provides tools to visualise, import and export in the standard formats BUFR and CREX. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 26 LINUXDAY 2013 DB-all.e Fortran, C, C++ and Python API are provided. Developed using ODBC programming layer To make computation easier, data is stored as physical quantities, that is, as values of a variable in a specific point of space and time, rather than as a sequence of encoded reports. Representation is in 7 dimensions: observation network, x, y, z, datetime, timerange, variable, where x,y are geographic coordinate, z table driven vertical coordinate, datetime the reference time, timerange table driven observation and forecast specification, variable table driven unique definition. Any data may have attribute, containing more information linked to the data. Unlimited station information data are possible. Real, integer and character data type are supported. It is fast for both read and write access. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 27 LINUXDAY 2013 DB-all.e It is based on physical principles, that is, the data it contains are defined in terms of homogeneous and consistent physical data. For example, it is impossible for two incompatible values to exist in the same point in space and time. It can manage fixed stations and moving stations such as airplanes or ships. It can manage both observational and forecast data. It can manage data along all three dimensions in space, such as data from soundings and airplanes. Report information is preserved. It can work based on physical parameters or on report types. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 28 LINUXDAY 2013 C'è ancora qualche nostalgico che usa i calcolatori per fare i calcoli Per le elaborazioni che richiedono grandi risorse di calcolo il SIMC si avvale di un sistema di tipo "HPC (High Performance Computing) cluster" assemblato in casa, noto con il nome di "maialinux" E' un sistema di calcolo parallelo; si utilizza MPI (message passing interface) ● Una singola simulazione (es. una previsione meteorologica) può girare usando contemporaneamente più nodi del sistema per velocizzare i tempi di calcolo e ottenere il risultato in tempo utile. ● Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 29 LINUXDAY 2013 maialinux 1 server "front-end" di accesso interattivo, dotato di storage e collegato al resto della rete del SIMC 28 nodi di calcolo con 2 processori/8 core ciascuno collegati tra loro e al frontend da una rete Gigabit ethernet e, per parte di essi, da una rete Infiniband (40Gbit/s), uno standard industriale aperto ● i nodi di calcolo sono privi di disco fisso, ricevono il sistema operativo dal front-end tramite la rete (net-boot), per cui richiedono poca manutenzione, sono sempre aggiornati ed è facile aggiungerne dei nuovi. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 30 LINUXDAY 2013 Siete rimasti al Fortran 77 ? Fortran 90: this major revision added many new features to reflect the significant changes in programming practice that had evolved since the 1978 standard: – – – – Modules, to group related procedures and data together improved argument-passing mechanism, with interfaces Derived (structured) data types Dynamic memory allocation Fortran 95 was a minor revision Fortran 2003: – – Object-oriented programming support Interoperability with the C programming language. Fortran 2008 was a minor revision: – Coarray Fortran – a parallel execution model Fortran 2015 will be a minor revision ... Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 31 LINUXDAY 2013 Fortran 2003 Object Oriented Programming Fortran 2003 consente in pieno una programmazione "object oriented" – – – – – – moduli per definire chiaramente lo scoping di variabili e procedure (presenti fin dal Fortran 90) tipi di dati derivati com metodi associati (classi) attributi PUBLIC e PRIVATE per permettere l'incapsulamento ereditarietà tra classi polimorfismo Buona parte di queste caratteristiche sono già supportate al momento da gfortran Con questo Fortran mantiene una quasi totale compatibilità con la sintassi precedente e il suo orientamento ad elaborazioni su grossi array di dati che lo hanno reso diffuso nel calcolo scientifico ad alte prestazioni. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 32 LINUXDAY 2013 Libsim Libsim comprende quattro gruppi di moduli di utilità in Fortran 90: – – – – libsim_base definisce moduli e classi di uso generale in applicazioni scientifiche, come la gestione di errori in esecuzione, la gestione di dati georeferenziati, di coordinate temporali, ecc. libsim_grib definisce una serie di classi ad alto livello stratificate sopra la libreria ECMWF grib_api per gestire l'I/O di file in formato grib. libsim_vol7d definisce una serie di classi per facilitare l'elaborazione di dati osservativi idro-meteo, includendo metodi per la loro importazione da database tipo DbAll-e libsim_volgrid6d definisce una serie di classi per facilitare l'elaborazione di dati idro-meteo su grigliati georeferenziati, compresa la trasformazione in griglie di tipo diverso e in oggetti di tipo vol7d. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 33 LINUXDAY 2013 R-map rete monitoraggio ambientale partecipativo Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 34 LINUXDAY 2013 Smart city, smart citizen e citien science Smart city: territorio urbano che permette di soddisfare le esigenze dei cittadini, delle imprese e delle istituzioni, mediante l'ausilio di strumenti innovativi e partecipazione attiva Ad esempio, reti di sensori per il controllo di parametri ambientali. Per la Comunità Europea, il grado di intelligenza di una città dovrebbe essere valutato secondo economia, mobilità, ambiente, persone, tenore di vita e governo. All'interno di questo ambiente, il cittadino può (deve) avere un ruolo attivo (smart citizen) Un esempio di partecipazione attiva può essere ritrovata nella citizen science, una modalità di ricerca scientifica condotta totalmente o in parte da scienziati non professionisti Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 35 LINUXDAY 2013 Inquinamento la legislazione europea dice che in una città come Bologna bastano due o tre stazioni per la misura della qualità dell'aria sono sufficienti per monitorare gli aspetti generali dell'inquinamento urbano, poi però esistono punti di accumulo locali (sotto i portici, nelle strade strette), differenze tra il primo e l'ultimo piano, emissioni locali (impianti), anche episodiche (cantieri, ingorghi, caminetti accesi), inquinamento dentro le case... non basterebbero centinaia di centraline per monitorare tutta questa varietà di situazioni, e i costi delle reti di misura sono già adesso difficili da sostenere l'Agenzia Ambientale Europea promuove l'integrazione di strumenti diversi: satelliti, modelli, poche stazioni con strumenti avanzati e reti di microsensori a basso costo gestite da volontari (scuole, associazioni, cittadini) Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 36 LINUXDAY 2013 per un problema multi-scala, monitoraggio multi-scala perciò sì, qualche grande pennello e poi pennelli piccoli per definire i dettagli Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 37 LINUXDAY 2013 Obiettivi R-map Raccogliere e distribuire dati ambientali rilevati dai cittadini Rendere disponibili questi dati disponibili ai servizi meteorologici, alle agenzie di prevenzione ambientale, alla protezione civile e istituti di ricerca Fornire feedback ai fornitori di dati in modo che essi abbiano servizi per testare e migliorare la qualità dei dati Divulgazione scientifica e sensibilizzazione ai temi ambientali Coinvolgimento di scuole e università a scopi formativi Creare un circolo virtuoso tra Enti Formativi, Pubbliche Amministazioni, Aziende private e cittadini. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 38 LINUXDAY 2013 Soggetti coinvolti ARPA SIMC – – – – – – – Predispone un disciplinare tecnico rispetto ai metodi di misura, elaborazione dei dati dei sensori e loro collocazione Definisce i protocolli e i formati per la comunicazione dei dati Accredita le nuove stazioni con metadati e fornendo le credenziali di accesso Definisce la licenza open con la quale i dati sono messi a disposizione Promuove la rete Quando utile utilizza i dati della rete Esegue un eventuale controllo di qualità e comunica i risultati Dipartimento informatica Università di Bologna – – Esprime pareri sul progetto e prototipo hardware e software Eventuali tesi/tirocini sul progetto software Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 39 LINUXDAY 2013 Soggetti coinvolti/da coinvolgere RaspiBO: gruppo informale di appassionati di elettronica ed informatica libera della zona di Bologna – – – Realizzano un prototipo hardware e software Sperimentano il prototipo Documentano la realizzazione del prototipo come openhardware e distribuiscono il software con licenza libera Soggetto privato / startup – Progetto commerciale per manutenzione delle stazioni la vendita, installazione e Scuole Soggetti già attivi sul territorio Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 40 LINUXDAY 2013 Campionamento di variabili meteorologiche Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità. Campione è una singola misura, tipicamente una di una serie di letture “spot” di un sistema di sensoristica. Una osservazione (misurazione) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivato da un numero di campioni. Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità. Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 41 LINUXDAY 2013 Data Level Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate Dati Level II, dati riconosciuti come variabili meteorologiche; possono essere ottenuti direttamente da strumenti o derivati dai dati Level I Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato. I dati scambiati a livello internazionale sono livello II o livello III Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 42 LINUXDAY 2013 Protocolli per R-map MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker. AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web Json è il formato per il payload E' fondamentale: Integrazione con le funzioni e le specifiche richieste dalle applicazioni per la domotica Integrazione con applicazioni per la telefonia mobile per la rilevazione dello spessore neve e altri parametri Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 43 LINUXDAY 2013 Metadati: il data model del SIMC Ogni dato è un valore associato ad un instante temporale e a 7 metadati univoci. – – – – – Longitudine, latitudine ed un identificativo (nel caso di stazioni mobili) Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti) Time range: indica osservazione o tempo precisione ed eventuale elaborazione “statistica” Livello: le coordinate verticali (eventualmente strato) Variabile: parametro fisico Ogni dato può essere dotato inoltre di attributi variabili nel tempo (controolo di qualità) E' inoltre possibile associare degli attributi statici (anagrafica) ai metadati longitudine, latitudine, identicativo, report Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 44 LINUXDAY 2013 Metadati su MQTT Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale /IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR – IDENT: identificativo per stazioni mobili, “-” per stazioni fisse – COORDS: nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo – NETWORK: massimo 16 caratteri – TRANGE: nella forma indicator,p1,p2 ● – LEVEL: nella forma type1,l1,type2,l2 ● – Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi VAR: nella forma BXXYYY Il payload è in formato JSON: { “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } } – VALUE: valore in formato CREX – TIME: formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) – Gli attributi (“a”) sono opzionali Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 45 LINUXDAY 2013 R-map Protocolli Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 46 LINUXDAY 2013 R-map software Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 47 LINUXDAY 2013 R-map Hardware Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 48 LINUXDAY 2013 R-map software http://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo http://liste.raspibo.org/wws/subscribe/meteo http://sourceforge.net/projects/r-map/ Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 49 LINUXDAY 2013 GRAZIE PER L'ATTENZIONE Le slides e le riprese audio/video dell'intervento saranno disponibili su: http://erlug.linux.it/linuxday/2013/ Bologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico 50