SlideShare a Scribd company logo
1 of 22
Download to read offline
Real-Time Toolchain
GSN - MeteoIO - GEOtop

       Thomas Egger
    Lausanne, 10.12.2009
GOAL
●   Collect from Sensorscope stations
●   Channel data through GSN
●   Feed GEOtop with real-time data from GSN
●   Publish real-time simulation results
Step-by-Step
●   Making GEOtop a real-time model
●   GEOtop & MeteoIO interaction
●   Toolchain (data acquisition &
    simulation)
●   Using GSN Webservice (SOAP/WSDL)
●   Demonstration
●   Outlook
GEOtop Initial Condition
●   Strictly linear processing
●   No usable start, pause and resume
    mechanisms
●   Difficult configuration of parameters
●   Meticulous, time-consuming preparation
    of data necessary, no safeguards
    (segfaults)
●   How to make a model that can be used
    reliably with real-time data?
GEOtop's Dark Side
●   Time required for an expert to run a reference
    simulation: 4 days
●   Extremely complicated internal data structures:
    tricky even for senior developers
●   No checks on parameters files: when format changes
    -> crashes without any hint of what is wrong
●   Moving target: heavy development occurring on
    GEOtop
➢   requires an expert to run, no automatic,
    unattended execution possible
GEOtop Goals
●   Start, pause and resume mechanism
●   Use different data sources, without manual
    preparation (robustness, automatic filtering)
●   Easier configuration of simulation
●   Increased stability (unattended run)
Real-Time GEOtop
●   Start, pause and resume through recovery
    mechanism
●   Access to different data sources, data cleaning &
    filtering through MeteoIO
●   Command-Line-Interface for configuration of
    simulation
●   Making code more robust through debugging
    (segmentation faults, leaking, uninitialized
    variables)
GEOtop Recovery Mechanism
●   Save status of simulation after each timestep
●   Recovery files in human readable form
●   Restore status for a given timestep
●   Pitfalls
     –   Global variables (in C: extern AND static vars)
     –   Precision of output
         fprintf(f, “%.*f”, (int)LDBL_DIG, doublevalue);
GEOtop & MeteoIO (1)
●   MeteoIO is a library that provides
    –   access to different meteorological data sources
        through different plugins (meteo data, 2D/3D grids)
    –   advanced methods for data cleaning & filtering as
        well as spatial interpolation algorithms
●   MeteoIO is written in C++, thus wrappers were
    necessary to “translate” data
●   Two MeteoIO plugins developed
    –   GSNIO (accessing GSN data through web service)
    –   GeotopIO (parsing CSV files)
GEOtop & MeteoIO (2)
Mixing C/C++
●   Using compatible compilers (e.g. gcc)
●   Declare linkage for functions (extern keyword)
    #include <iostream>
    extern "C" int print(int i, double d)
    {
        std::cout << "i = " << i << ", d = " << d;
    }


●   Concept of classes compatible with structs
●   Deal with C++ exceptions
Toolchain (1)
1.Meteo stations transmit data to
 Sensorscope servers
2.GSN fetches data by listening to serial
 data stream, using web service or CSV
 wrapper
3.GSN triggers a simulation
 (GEOtop/A3D) if enough data present
 for next timestep
4.GEOtop/A3D access the data from GSN
  through the MeteoIO library
Toolchain (2)


Sensorscope weather
  stations La Fouly




Sensorscope database   GSN Network     Simulation server
      Lausanne          Lausanne     running GEOtop/A3D
                                           Lausanne
Toolchain (3)
                                                    Simulation server
                                                  running GEOtop/A3D
                                                        Lausanne
                                    [3] RSH

  Sensorscope weather
    stations La Fouly
                                       [4] SOAP
[1] GPRS
                                                              File IO



                [2] CSV,               [5] SFTP
                Serial, WS                          Post-processing
 Sensorscope database        GSN Network
       Lausanne               Lausanne
What is GSN?
●   GSN is a data acquisition network (JAVA)
●   It is build around the concept of “sensors”
    –   Real sensors (e.g. thermometer)
    –   Virtual sensors (e.g. averaging filter, GEOtop)
●   Many wrappers for different sensors exist
Sensorscope GSN Interaction
●   For GSN Sensorscope stations are sensors
●   CSV Wrapper
    Importing data by parsing CSV files
●   Serial Listener
    Listening to data packages as they come on a a
    TCP port (event based messaging)
●   Future: Web service or database access
Web Services (1)
●   By using web services an application can publish
    its functions on the internet
●   Definition of what functions are available in web
    service description language (WSDL) in XML
●   XML used to code and decode data and SOAP to
    transport it (over HTTP)
●   Heterogeneous environments can easily be
    connected
Web Services (2)
●   Machine-to-Machine interface (automation)
●   2 ways of development:
    –   bottom-up (start with implementation, generate
        WSDL)
    –   top-down (start with design, generate skeleton)


●   Similar technologies: RMI, CORBA, XML-RPC
GSN Web Service
●   MeteoIO plugin GSNIO accesses data on GSN
    servers by means of a web service
●   Simple access functions:
    –   getSensors()
    –   getSensorInfo(stationname)
    –   getSensorLocation(stationname)
    –   getMeteoData(station, startDate, endDate)

●   GSNWebService.wsdl
MeteoIO & GSN Webservice
●   wsdl2h generates C++ header file
●   soapcpp2 generates C++ stubs
●   Incorporated into plugin GSNIO

●   Example:
    Accessing GSN webservice through MeteoIO
Demonstration
●   Retrieving data through MeteoIO
    –   GEOtopIO plugin
    –   GSNIO plugin
●   Script run.pl
    (Invokes A3D/GEOtop and post-processing)
●   GSN webpage displaying results of sensors
Outlook
●   GSN web interface for starting and running
    models
●   GSN support for reading 2D Grids (DEM)
●   Session support (so different users can execute
    simulation at same time) in both GEOtop and
    A3D

More Related Content

What's hot

Quantum Computing Fundamentals via OO
Quantum Computing Fundamentals via OOQuantum Computing Fundamentals via OO
Quantum Computing Fundamentals via OOCarl Belle
 
Learning Erlang (from a Prolog dropout's perspective)
Learning Erlang (from a Prolog dropout's perspective)Learning Erlang (from a Prolog dropout's perspective)
Learning Erlang (from a Prolog dropout's perspective)elliando dias
 
Quantum Computing and Qiskit
Quantum Computing and QiskitQuantum Computing and Qiskit
Quantum Computing and QiskitPooja Mistry
 
Advanced Tracing features using GDB and LTTng
Advanced Tracing features using GDB and LTTngAdvanced Tracing features using GDB and LTTng
Advanced Tracing features using GDB and LTTngmarckhouzam
 
Introsort or introspective sort
Introsort or introspective sortIntrosort or introspective sort
Introsort or introspective sortEftykhar Mahmud
 
OpenNebulaConf2018 - OpenNebula and LXD Containers - Rubén S. Montero - OpenN...
OpenNebulaConf2018 - OpenNebula and LXD Containers - Rubén S. Montero - OpenN...OpenNebulaConf2018 - OpenNebula and LXD Containers - Rubén S. Montero - OpenN...
OpenNebulaConf2018 - OpenNebula and LXD Containers - Rubén S. Montero - OpenN...OpenNebula Project
 
Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+Seiya Tokui
 
Running Multiple XORP Instances In One Box
Running Multiple XORP Instances In One BoxRunning Multiple XORP Instances In One Box
Running Multiple XORP Instances In One BoxJiaqing Du
 
Slide smallfiles
Slide smallfilesSlide smallfiles
Slide smallfilesrledisez
 
cloud_futures_2.0_Papazachos
cloud_futures_2.0_Papazachoscloud_futures_2.0_Papazachos
cloud_futures_2.0_PapazachosGeorge Spyrou
 
Advances in the Solution of NS Eqs. in GPGPU Hardware. Second order scheme an...
Advances in the Solution of NS Eqs. in GPGPU Hardware. Second order scheme an...Advances in the Solution of NS Eqs. in GPGPU Hardware. Second order scheme an...
Advances in the Solution of NS Eqs. in GPGPU Hardware. Second order scheme an...Storti Mario
 
Real-time Debugging using GDB Tracepoints and other Eclipse features
Real-time Debugging using GDB Tracepoints and other Eclipse features Real-time Debugging using GDB Tracepoints and other Eclipse features
Real-time Debugging using GDB Tracepoints and other Eclipse features marckhouzam
 
Peer Sim (P2P network)
Peer Sim (P2P network)Peer Sim (P2P network)
Peer Sim (P2P network)Sijo Emmanuel
 
Working with OpenStreetMap using Apache Spark and Geotrellis
Working with OpenStreetMap using Apache Spark and GeotrellisWorking with OpenStreetMap using Apache Spark and Geotrellis
Working with OpenStreetMap using Apache Spark and GeotrellisRob Emanuele
 
Peer sim (p2p network)
Peer sim (p2p network)Peer sim (p2p network)
Peer sim (p2p network)Hein Min Htike
 
Real time debugging: using non-intrusive tracepoints to debug live systems
Real time debugging: using non-intrusive tracepoints to debug live systemsReal time debugging: using non-intrusive tracepoints to debug live systems
Real time debugging: using non-intrusive tracepoints to debug live systemsmarckhouzam
 
Introduction to Garbage Collection
Introduction to Garbage CollectionIntroduction to Garbage Collection
Introduction to Garbage CollectionArtur Mkrtchyan
 
Optimizing High Performance Big Data Cancer Workflows
Optimizing High Performance Big Data Cancer WorkflowsOptimizing High Performance Big Data Cancer Workflows
Optimizing High Performance Big Data Cancer WorkflowsIvan Jimenez
 

What's hot (20)

Quantum Computing Fundamentals via OO
Quantum Computing Fundamentals via OOQuantum Computing Fundamentals via OO
Quantum Computing Fundamentals via OO
 
Learning Erlang (from a Prolog dropout's perspective)
Learning Erlang (from a Prolog dropout's perspective)Learning Erlang (from a Prolog dropout's perspective)
Learning Erlang (from a Prolog dropout's perspective)
 
Quantum Computing and Qiskit
Quantum Computing and QiskitQuantum Computing and Qiskit
Quantum Computing and Qiskit
 
Advanced Tracing features using GDB and LTTng
Advanced Tracing features using GDB and LTTngAdvanced Tracing features using GDB and LTTng
Advanced Tracing features using GDB and LTTng
 
Introsort or introspective sort
Introsort or introspective sortIntrosort or introspective sort
Introsort or introspective sort
 
OpenNebulaConf2018 - OpenNebula and LXD Containers - Rubén S. Montero - OpenN...
OpenNebulaConf2018 - OpenNebula and LXD Containers - Rubén S. Montero - OpenN...OpenNebulaConf2018 - OpenNebula and LXD Containers - Rubén S. Montero - OpenN...
OpenNebulaConf2018 - OpenNebula and LXD Containers - Rubén S. Montero - OpenN...
 
Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+Chainer Update v1.8.0 -> v1.10.0+
Chainer Update v1.8.0 -> v1.10.0+
 
Running Multiple XORP Instances In One Box
Running Multiple XORP Instances In One BoxRunning Multiple XORP Instances In One Box
Running Multiple XORP Instances In One Box
 
Slide smallfiles
Slide smallfilesSlide smallfiles
Slide smallfiles
 
cloud_futures_2.0_Papazachos
cloud_futures_2.0_Papazachoscloud_futures_2.0_Papazachos
cloud_futures_2.0_Papazachos
 
Advances in the Solution of NS Eqs. in GPGPU Hardware. Second order scheme an...
Advances in the Solution of NS Eqs. in GPGPU Hardware. Second order scheme an...Advances in the Solution of NS Eqs. in GPGPU Hardware. Second order scheme an...
Advances in the Solution of NS Eqs. in GPGPU Hardware. Second order scheme an...
 
Real-time Debugging using GDB Tracepoints and other Eclipse features
Real-time Debugging using GDB Tracepoints and other Eclipse features Real-time Debugging using GDB Tracepoints and other Eclipse features
Real-time Debugging using GDB Tracepoints and other Eclipse features
 
Peer Sim (P2P network)
Peer Sim (P2P network)Peer Sim (P2P network)
Peer Sim (P2P network)
 
Working with OpenStreetMap using Apache Spark and Geotrellis
Working with OpenStreetMap using Apache Spark and GeotrellisWorking with OpenStreetMap using Apache Spark and Geotrellis
Working with OpenStreetMap using Apache Spark and Geotrellis
 
Peer sim (p2p network)
Peer sim (p2p network)Peer sim (p2p network)
Peer sim (p2p network)
 
Real time debugging: using non-intrusive tracepoints to debug live systems
Real time debugging: using non-intrusive tracepoints to debug live systemsReal time debugging: using non-intrusive tracepoints to debug live systems
Real time debugging: using non-intrusive tracepoints to debug live systems
 
Introduction to Garbage Collection
Introduction to Garbage CollectionIntroduction to Garbage Collection
Introduction to Garbage Collection
 
QUANTUM COMP 22
QUANTUM COMP 22QUANTUM COMP 22
QUANTUM COMP 22
 
Intro to cassandra
Intro to cassandraIntro to cassandra
Intro to cassandra
 
Optimizing High Performance Big Data Cancer Workflows
Optimizing High Performance Big Data Cancer WorkflowsOptimizing High Performance Big Data Cancer Workflows
Optimizing High Performance Big Data Cancer Workflows
 

Similar to Toolchain for real-time simulations: GSN-MeteoIO-GEOtop

BWC Supercomputing 2008 Presentation
BWC Supercomputing 2008 PresentationBWC Supercomputing 2008 Presentation
BWC Supercomputing 2008 Presentationlilyco
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructureFernando Lopez Aguilar
 
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado BlascoDSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado BlascoDeltares
 
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820innov-acts-ltd
 
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...Building a data pipeline to ingest data into Hadoop in minutes using Streamse...
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...Guglielmo Iozzia
 
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaSridhar Kumar N
 
Meteo I/O Introduction
Meteo I/O IntroductionMeteo I/O Introduction
Meteo I/O IntroductionRiccardo Rigon
 
Sector Sphere 2009
Sector Sphere 2009Sector Sphere 2009
Sector Sphere 2009lilyco
 
sector-sphere
sector-spheresector-sphere
sector-spherexlight
 
Model-driven Network Management
Model-driven Network ManagementModel-driven Network Management
Model-driven Network ManagementAnees Shaikh
 
PIMRC-2012, Sydney, Australia, 28 July, 2012
PIMRC-2012, Sydney, Australia, 28 July, 2012PIMRC-2012, Sydney, Australia, 28 July, 2012
PIMRC-2012, Sydney, Australia, 28 July, 2012Charith Perera
 
DesignOfAnExtensibleTelemetry&CommandArcitectureForSmallSatellites
DesignOfAnExtensibleTelemetry&CommandArcitectureForSmallSatellitesDesignOfAnExtensibleTelemetry&CommandArcitectureForSmallSatellites
DesignOfAnExtensibleTelemetry&CommandArcitectureForSmallSatellitesBrenden Hogan
 
Realini go gps_foss4g2011_small2
Realini go gps_foss4g2011_small2Realini go gps_foss4g2011_small2
Realini go gps_foss4g2011_small2masarunarazaki
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilitySamsung Open Source Group
 
Opencensus with prometheus and kubernetes
Opencensus with prometheus and kubernetesOpencensus with prometheus and kubernetes
Opencensus with prometheus and kubernetesJinwoong Kim
 
Network time sync solutions for security
Network time sync solutions for securityNetwork time sync solutions for security
Network time sync solutions for securityMohd Amir
 
LTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space TracingLTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space TracingChristian Babeux
 

Similar to Toolchain for real-time simulations: GSN-MeteoIO-GEOtop (20)

BWC Supercomputing 2008 Presentation
BWC Supercomputing 2008 PresentationBWC Supercomputing 2008 Presentation
BWC Supercomputing 2008 Presentation
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado BlascoDSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
 
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
 
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...Building a data pipeline to ingest data into Hadoop in minutes using Streamse...
Building a data pipeline to ingest data into Hadoop in minutes using Streamse...
 
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
 
Lecture OSSIM
Lecture OSSIM Lecture OSSIM
Lecture OSSIM
 
Meteo I/O Introduction
Meteo I/O IntroductionMeteo I/O Introduction
Meteo I/O Introduction
 
Sector Sphere 2009
Sector Sphere 2009Sector Sphere 2009
Sector Sphere 2009
 
sector-sphere
sector-spheresector-sphere
sector-sphere
 
Model-driven Network Management
Model-driven Network ManagementModel-driven Network Management
Model-driven Network Management
 
PIMRC-2012, Sydney, Australia, 28 July, 2012
PIMRC-2012, Sydney, Australia, 28 July, 2012PIMRC-2012, Sydney, Australia, 28 July, 2012
PIMRC-2012, Sydney, Australia, 28 July, 2012
 
DesignOfAnExtensibleTelemetry&CommandArcitectureForSmallSatellites
DesignOfAnExtensibleTelemetry&CommandArcitectureForSmallSatellitesDesignOfAnExtensibleTelemetry&CommandArcitectureForSmallSatellites
DesignOfAnExtensibleTelemetry&CommandArcitectureForSmallSatellites
 
Realini go gps_foss4g2011_small2
Realini go gps_foss4g2011_small2Realini go gps_foss4g2011_small2
Realini go gps_foss4g2011_small2
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 
goGPS (November 2013)
goGPS (November 2013)goGPS (November 2013)
goGPS (November 2013)
 
Zabbix Monitoring Platform
Zabbix Monitoring Platform Zabbix Monitoring Platform
Zabbix Monitoring Platform
 
Opencensus with prometheus and kubernetes
Opencensus with prometheus and kubernetesOpencensus with prometheus and kubernetes
Opencensus with prometheus and kubernetes
 
Network time sync solutions for security
Network time sync solutions for securityNetwork time sync solutions for security
Network time sync solutions for security
 
LTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space TracingLTTng-UST: Efficient System-Wide User-Space Tracing
LTTng-UST: Efficient System-Wide User-Space Tracing
 

More from Riccardo Rigon

Models for hazards mapping
Models for hazards mappingModels for hazards mapping
Models for hazards mappingRiccardo Rigon
 
A short introduction to some hydrological extreme phenomena
A short introduction to some hydrological extreme phenomenaA short introduction to some hydrological extreme phenomena
A short introduction to some hydrological extreme phenomenaRiccardo Rigon
 
Lisbon talk for SteepStreams
Lisbon talk  for SteepStreamsLisbon talk  for SteepStreams
Lisbon talk for SteepStreamsRiccardo Rigon
 
Some photos from the field
Some photos from the fieldSome photos from the field
Some photos from the fieldRiccardo Rigon
 
Virtual water fem 07032017
Virtual water fem 07032017Virtual water fem 07032017
Virtual water fem 07032017Riccardo Rigon
 
Dalton Prize Lecture 2017 by Dani Or
Dalton Prize Lecture 2017 by Dani OrDalton Prize Lecture 2017 by Dani Or
Dalton Prize Lecture 2017 by Dani OrRiccardo Rigon
 
Projecting Climate Change Impacts on Water Resources in Regions of Complex To...
Projecting Climate Change Impacts on Water Resources in Regions of Complex To...Projecting Climate Change Impacts on Water Resources in Regions of Complex To...
Projecting Climate Change Impacts on Water Resources in Regions of Complex To...Riccardo Rigon
 
The modern flood forecasting
The modern flood forecastingThe modern flood forecasting
The modern flood forecastingRiccardo Rigon
 
La moderna previsione delle piene
La moderna previsione delle pieneLa moderna previsione delle piene
La moderna previsione delle pieneRiccardo Rigon
 
Hydrological Extremes and Human societies
Hydrological Extremes and Human societies Hydrological Extremes and Human societies
Hydrological Extremes and Human societies Riccardo Rigon
 
The Science of Water Transport and Floods from Theory to Relevant Application...
The Science of Water Transport and Floods from Theory to Relevant Application...The Science of Water Transport and Floods from Theory to Relevant Application...
The Science of Water Transport and Floods from Theory to Relevant Application...Riccardo Rigon
 
The Science of Water Transport and Floods from Theory to Relevant Applications
The Science of Water Transport and Floods from Theory to Relevant ApplicationsThe Science of Water Transport and Floods from Theory to Relevant Applications
The Science of Water Transport and Floods from Theory to Relevant ApplicationsRiccardo Rigon
 
Hymod model for catchments
Hymod model for catchmentsHymod model for catchments
Hymod model for catchmentsRiccardo Rigon
 

More from Riccardo Rigon (20)

Models for hazards mapping
Models for hazards mappingModels for hazards mapping
Models for hazards mapping
 
A short introduction to some hydrological extreme phenomena
A short introduction to some hydrological extreme phenomenaA short introduction to some hydrological extreme phenomena
A short introduction to some hydrological extreme phenomena
 
EvaporAzione
EvaporAzioneEvaporAzione
EvaporAzione
 
Francesco Serafin
Francesco Serafin Francesco Serafin
Francesco Serafin
 
Meledrio
MeledrioMeledrio
Meledrio
 
Lisbon talk for SteepStreams
Lisbon talk  for SteepStreamsLisbon talk  for SteepStreams
Lisbon talk for SteepStreams
 
Grids implementation
Grids implementationGrids implementation
Grids implementation
 
Grids
GridsGrids
Grids
 
Some photos from the field
Some photos from the fieldSome photos from the field
Some photos from the field
 
Virtual water fem 07032017
Virtual water fem 07032017Virtual water fem 07032017
Virtual water fem 07032017
 
Dalton Prize Lecture 2017 by Dani Or
Dalton Prize Lecture 2017 by Dani OrDalton Prize Lecture 2017 by Dani Or
Dalton Prize Lecture 2017 by Dani Or
 
Projecting Climate Change Impacts on Water Resources in Regions of Complex To...
Projecting Climate Change Impacts on Water Resources in Regions of Complex To...Projecting Climate Change Impacts on Water Resources in Regions of Complex To...
Projecting Climate Change Impacts on Water Resources in Regions of Complex To...
 
The modern flood forecasting
The modern flood forecastingThe modern flood forecasting
The modern flood forecasting
 
La moderna previsione delle piene
La moderna previsione delle pieneLa moderna previsione delle piene
La moderna previsione delle piene
 
Hydrological Extremes and Human societies
Hydrological Extremes and Human societies Hydrological Extremes and Human societies
Hydrological Extremes and Human societies
 
The Science of Water Transport and Floods from Theory to Relevant Application...
The Science of Water Transport and Floods from Theory to Relevant Application...The Science of Water Transport and Floods from Theory to Relevant Application...
The Science of Water Transport and Floods from Theory to Relevant Application...
 
The Science of Water Transport and Floods from Theory to Relevant Applications
The Science of Water Transport and Floods from Theory to Relevant ApplicationsThe Science of Water Transport and Floods from Theory to Relevant Applications
The Science of Water Transport and Floods from Theory to Relevant Applications
 
Climaware at the end
Climaware at the endClimaware at the end
Climaware at the end
 
Hymod model for catchments
Hymod model for catchmentsHymod model for catchments
Hymod model for catchments
 
Egu2017 pico
Egu2017 picoEgu2017 pico
Egu2017 pico
 

Recently uploaded

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

Toolchain for real-time simulations: GSN-MeteoIO-GEOtop

  • 1. Real-Time Toolchain GSN - MeteoIO - GEOtop Thomas Egger Lausanne, 10.12.2009
  • 2. GOAL ● Collect from Sensorscope stations ● Channel data through GSN ● Feed GEOtop with real-time data from GSN ● Publish real-time simulation results
  • 3. Step-by-Step ● Making GEOtop a real-time model ● GEOtop & MeteoIO interaction ● Toolchain (data acquisition & simulation) ● Using GSN Webservice (SOAP/WSDL) ● Demonstration ● Outlook
  • 4. GEOtop Initial Condition ● Strictly linear processing ● No usable start, pause and resume mechanisms ● Difficult configuration of parameters ● Meticulous, time-consuming preparation of data necessary, no safeguards (segfaults) ● How to make a model that can be used reliably with real-time data?
  • 5. GEOtop's Dark Side ● Time required for an expert to run a reference simulation: 4 days ● Extremely complicated internal data structures: tricky even for senior developers ● No checks on parameters files: when format changes -> crashes without any hint of what is wrong ● Moving target: heavy development occurring on GEOtop ➢ requires an expert to run, no automatic, unattended execution possible
  • 6. GEOtop Goals ● Start, pause and resume mechanism ● Use different data sources, without manual preparation (robustness, automatic filtering) ● Easier configuration of simulation ● Increased stability (unattended run)
  • 7. Real-Time GEOtop ● Start, pause and resume through recovery mechanism ● Access to different data sources, data cleaning & filtering through MeteoIO ● Command-Line-Interface for configuration of simulation ● Making code more robust through debugging (segmentation faults, leaking, uninitialized variables)
  • 8. GEOtop Recovery Mechanism ● Save status of simulation after each timestep ● Recovery files in human readable form ● Restore status for a given timestep ● Pitfalls – Global variables (in C: extern AND static vars) – Precision of output fprintf(f, “%.*f”, (int)LDBL_DIG, doublevalue);
  • 9. GEOtop & MeteoIO (1) ● MeteoIO is a library that provides – access to different meteorological data sources through different plugins (meteo data, 2D/3D grids) – advanced methods for data cleaning & filtering as well as spatial interpolation algorithms ● MeteoIO is written in C++, thus wrappers were necessary to “translate” data ● Two MeteoIO plugins developed – GSNIO (accessing GSN data through web service) – GeotopIO (parsing CSV files)
  • 11. Mixing C/C++ ● Using compatible compilers (e.g. gcc) ● Declare linkage for functions (extern keyword) #include <iostream> extern "C" int print(int i, double d) { std::cout << "i = " << i << ", d = " << d; } ● Concept of classes compatible with structs ● Deal with C++ exceptions
  • 12. Toolchain (1) 1.Meteo stations transmit data to Sensorscope servers 2.GSN fetches data by listening to serial data stream, using web service or CSV wrapper 3.GSN triggers a simulation (GEOtop/A3D) if enough data present for next timestep 4.GEOtop/A3D access the data from GSN through the MeteoIO library
  • 13. Toolchain (2) Sensorscope weather stations La Fouly Sensorscope database GSN Network Simulation server Lausanne Lausanne running GEOtop/A3D Lausanne
  • 14. Toolchain (3) Simulation server running GEOtop/A3D Lausanne [3] RSH Sensorscope weather stations La Fouly [4] SOAP [1] GPRS File IO [2] CSV, [5] SFTP Serial, WS Post-processing Sensorscope database GSN Network Lausanne Lausanne
  • 15. What is GSN? ● GSN is a data acquisition network (JAVA) ● It is build around the concept of “sensors” – Real sensors (e.g. thermometer) – Virtual sensors (e.g. averaging filter, GEOtop) ● Many wrappers for different sensors exist
  • 16. Sensorscope GSN Interaction ● For GSN Sensorscope stations are sensors ● CSV Wrapper Importing data by parsing CSV files ● Serial Listener Listening to data packages as they come on a a TCP port (event based messaging) ● Future: Web service or database access
  • 17. Web Services (1) ● By using web services an application can publish its functions on the internet ● Definition of what functions are available in web service description language (WSDL) in XML ● XML used to code and decode data and SOAP to transport it (over HTTP) ● Heterogeneous environments can easily be connected
  • 18. Web Services (2) ● Machine-to-Machine interface (automation) ● 2 ways of development: – bottom-up (start with implementation, generate WSDL) – top-down (start with design, generate skeleton) ● Similar technologies: RMI, CORBA, XML-RPC
  • 19. GSN Web Service ● MeteoIO plugin GSNIO accesses data on GSN servers by means of a web service ● Simple access functions: – getSensors() – getSensorInfo(stationname) – getSensorLocation(stationname) – getMeteoData(station, startDate, endDate) ● GSNWebService.wsdl
  • 20. MeteoIO & GSN Webservice ● wsdl2h generates C++ header file ● soapcpp2 generates C++ stubs ● Incorporated into plugin GSNIO ● Example: Accessing GSN webservice through MeteoIO
  • 21. Demonstration ● Retrieving data through MeteoIO – GEOtopIO plugin – GSNIO plugin ● Script run.pl (Invokes A3D/GEOtop and post-processing) ● GSN webpage displaying results of sensors
  • 22. Outlook ● GSN web interface for starting and running models ● GSN support for reading 2D Grids (DEM) ● Session support (so different users can execute simulation at same time) in both GEOtop and A3D