Il progetto di rete per il monitoraggio ambientale partecipativo...

50
Patruno, Di Giacomo, monitoraggio ambientale partecipativo; software libero scientifico Bologna, 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 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

Transcript of Il progetto di rete per il monitoraggio ambientale partecipativo...

Page 1: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 2: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 3: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 4: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 5: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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/

Page 6: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 7: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 8: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 9: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 10: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 11: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 12: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 13: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 14: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 15: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 16: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 17: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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)

Page 18: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 19: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 20: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 21: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 22: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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).

Page 23: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.).

Page 24: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 25: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 26: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 27: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 28: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 29: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 30: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 31: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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 ...

Page 32: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 33: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 34: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 35: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 36: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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)

Page 37: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 38: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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.

Page 39: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 40: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 41: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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à.

Page 42: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 43: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 44: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 45: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 46: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 47: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 48: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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

Page 49: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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/

Page 50: Il progetto di rete per il monitoraggio ambientale partecipativo ...liste.raspibo.org/wws/d_read/meteo/linuxday2013/r-map_ld...I modelli meteo-marini I modelli meteo-marini SWAN MEDITARE

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/