il progetto di rete per il monitoraggio ambientale partecipativo...
TRANSCRIPT
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
1
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 PatrunoArea Modellistica Meteorologica e Centro di Competenza Nazionale Unità Modellistica Previsionale
Emanuele Di Giacomo Area Servizi Informatici Unità Gestione Sistemi e Data Base
ERLUG
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
2
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 valutazione dell´impatto
ambientale di piani e progetti● realizzazione e gestione del Sistema informativo regionale
sull´ambiente
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
3
LINUXDAY 2013
Flusso dati e software al SIMC
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
4
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 de-facto standard used by a wide range of existing software.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
5
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 modellamento
spaziale e la visualizzazione di dati geografici– http://grass.osgeo.org/
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
6
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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
7
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 i formati supportati (attualmente GRIB, BUFR, ODIMH5)
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
8
LINUXDAY 2013
Arkimet: come lavora
Data is examined and metadata are extracted
Data and metadata are acquired into datasets
Datasets are self-contained collections of homogeneous information
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
9
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
10
LINUXDAY 2013
Arkimet: distributed
arki-query
Localdataset
Privatelocal
datasetarki-server(internal)
Localdataset
Localdataset
arki-server(public)
Localdataset
Localdataset
Localdataset
arki-server(public)
Centre A Centre BOutputdata
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
11
LINUXDAY 2013
I modelli meteo-marini
I modelli meteo-marini
SWAN MEDITAREFornisce quotidianamente (00UTC) previsione del moto ondoso (altezze, periodi, direzione) a +72h su Mediterraneo-Italia-Regione. Forzante COSMO-I7.Operativo al SIMC dal 2004
SWANSimulating waves Nearshorehttp://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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
12
LINUXDAY 2013
I modelli meteo-marini
I modelli meteo-marini
AdriaROMS circolazioneFornisce quotidianamente (00UTC) previsione delle correnti, temperatura, salinità, ecc. a +72h. Forzante COSMO-I7Operativo al SIMC dal 2005
AdriaROMSRegional Ocean Modeling System Adriaticohttp://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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
13
LINUXDAY 2013
I modelli meteo-marini costieri
I modelli meteo-marini costieri
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.
Xbeach- morfodinamica costierahttp://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 public-domain 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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
14
LINUXDAY 2013
I modelli meteo-marini costieri
Delft3D: modellistica di diffusione in mareImplementato 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-suiteSoftware attualmente free che noi utilizziamo per effettuare casi studio in ambiente windows.Utilizza campi da modelli COSMO, AdriaROMS e SWAN.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
15
LINUXDAY 2013
Oil-spill GNOME
GNOMEOil Spill Model
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
Previsione “on demand” utilizzando come forzanti veni COSMO e correnti di AdriaROMSa +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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
16
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
17
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)
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
18
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
19
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
20
LINUXDAY 2013
Grafica: prodotti statunitensi
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.
●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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
21
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
22
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/time-sections, 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).
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
23
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.).
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
24
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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
25
LINUXDAY 2013
DB-all.e
tool per gestione dati puntuali meteorologici basato sulla loro rappresentazione fisica
sviluppato dal SIMC, utilizzato per verifica modelli, applicazione operativa filtro di Kalman, casi studio
Corredato di Provami, sofisticato programma interattivo per la:– Visualizzazione– Ricerca– Modifica– Esportazione
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
26
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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
27
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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
28
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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
29
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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
30
LINUXDAY 2013
maialinux1 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 front-end 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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
31
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 ...
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
32
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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
33
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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
34
LINUXDAY 2013
R-maprete monitoraggio ambientale partecipativo
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
35
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
36
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)
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
37
LINUXDAY 2013
per un problema multi-scala,monitoraggio multi-scala
perciò sì, qualche grande pennello e poi pennelli piccoli per definire i dettagli
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
38
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.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
39
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
40
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 la vendita, installazione e
manutenzione delle stazioni
Scuole
Soggetti già attivi sul territorio
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
41
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à.
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
42
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
43
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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
44
LINUXDAY 2013
Metadati: il data model del SIMCOgni 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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
45
LINUXDAY 2013
Metadati su MQTTOgni 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
● Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi
– LEVEL: nella forma type1,l1,type2,l2● 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
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
46
LINUXDAY 2013
R-map Protocolli
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
47
LINUXDAY 2013
R-map software
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
48
LINUXDAY 2013
R-map Hardware
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
49
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/
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientificoBologna, 2013-10-26 ERLUG: Emilia Romagna Linux Users Group – http://erlug.linux.it
50
LINUXDAY 2013
GRAZIE PER L'ATTENZIONE
Le slides e le riprese audio/videodell'intervento saranno disponibili su:
http://erlug.linux.it/linuxday/2013/