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