Top Banner
Data Tools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen en tools.
13

DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

May 12, 2015

Download

Documents

Karolien Abbink
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

Data Tools

Models

Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen en tools.

Page 2: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

Wat is het probleem?

• Kwaliteit, snelle beschikbaarheid en toegankelijkheid van data voor analyse is onvoldoende

• Modellen en door engineers ontwikkelde tools zijn niet goed gedocumenteerd en staan niet onder versie beheer

Kan veel beter!

Data: data niet onder versie beheer, altijd verschillende file formaten, metadata vaak niet beschikbaar bij de data. Modellen en tools: verschillende tools-versies op PC’s gebruikers, onduidelijkheid welke versie van tool is gebruikt bij bepaalde berekeningen.

Page 3: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

OPeNDAP Server

Raw Data Tools

Models

SubVersion Server

Gedetailleerd Versimpeld

OpenEarth (BwN) biedt een infrastructuur voor dit probleem. Basis elementen: SubVersion server & OPeNDAP server. Uitgangspunt: Vaste structuur – flexibele toegang.

Gebruiker

Toeleverancier

Page 4: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

XX

ZZ

TT

YY

• Een matrix gebaseerde datastructuur voor het opslaan van multidimensionele data

• N-dimensionale coordinatensystemen– X coordinaat (e.g. longitude)– Y coordinaat (e.g. latitude)– Z coordinaat (e.g. altitude)– Tijd dimensie– … andere dimensies

• Variabelen – maximale flexibiliteit voor het definieren van alle datatypen– Temperatuur, druk, zoutgehalte, korreldiameter, etc

• Geometrie – impliciet of expliciet– Regelmatig grid (implicit – opslag efficientie)– Onregelmatig grid (expliciet)– Punten

NetCDF: NASA's Earth Science Data Systems Standards Process Group raadt NetCDF aan als te hanteren dataopslagstandaard. Voordelen: grote data uitwisselbaarheid, platform onafhankelijk, robuust in gebruik en toch eenvoudig te begrijpen.

Wat is NetCDF?

Page 5: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

Efficiente data opslag: Binair NetCDF formaat maakt complete definitie van variabelen mogelijk met gebruik van minimaal aantal getallen (zie voorbeeld) en minimale herhaling metadata. Resultaat: minimale opslagruimte, zeer grote datasets snel te bevragen.

X Y Z Q

1 1 1 0.5

1 1 2 0.3

1 2 1 0.6

1 2 2 0.1

2 1 1 0.4

2 1 2 0.2

2 2 1 0.9

2 2 2 0.3

0.5 0.4

0.6 0.9

0.3 0.2

0.1 0.3

1 2

1

2

1

2

X Y Z

32 getallen 14 getallen

Page 6: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

transect.ncnetcdf transect.nc {

dimensions: crossshore = 198 ; time = 3 ;

variables: float crossshore_distance(crossshore), shape = [198] crossshore_distance:unit = "meter" float year(time), shape = [3] year:unit = "year" float height(time,crossshore), shape = [3 198] height:unit = "meter"

data: coastward_distance = (-65:5:920); year = (2006:2008); height = [ 7.62 7.49 8.26 7.91 7.72 6.03 5.41 … -7.62 -7.705 -7.79 -7.845 -7.9 -7.99 -8.08 7.64 7.49 7.95 8.54 8.34 7.54 6.62 … -7.54 -7.635 -7.73 -7.8 -7.87 -7.945 -8.02 7.56 7.43 7.95 8.84 8.42 7.7 6.77 … -7.46 -7.535 -7.61 -7.695 -7.78 -7.865 -7.95];}

x = nc_varget(transect.nc, 'crossshore_distance');y = nc_varget(transect.nc, 'time');z = nc_varget(transect.nc, 'height');surface(x, y, z);

Voorbeeld NetCDF file: 198 kustdwarse punten, 3 tijdsopnames, 3 x 198 hoogtes. Metadata in één file samen met de data. NB: transect.nc is een binaire file. Eenvoudige Matlab routines beschikbaar: nc_varput, nc_addvar, nc_varget (zie inzet)

Voorbeeld:

Page 7: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

SubVersion: open source versiebeheer systeem. Gebruikers ‘committen’ hun files in één centrale database (regelmatig updaten lokale kopie). Iedere commit krijgt een eigen uniek revisienummer. Per commit kun je in een comment aangeven wat er is gewijzigd.

Page 8: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

Blame functionaliteit: van elke regel code is bekend door wie, wanneer en als onderdeel van welk revisie nummer deze is gewijzigd. Kleuren geven de ouderdom van de code aan (blauwer = ouwer). Elke wijziging kan achteraf altijd worden teruggedraaid.

Page 9: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

Merge tool: Verschillen tussen verschillende versies van een tool zijn eenvoudig inzichtelijk te maken. Wanneer meerdere users aan de zelfde code werken helpt de merge tool eventuele conflicten op te lossen.

Page 10: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

Version control: elke routine/datafile kan automatisch een comment block meekrijgen met daarin info over: datum en auteur laatste wijziging, revisie nummer etc. Sla bij een project het revisienummer van de gebruikte code op en je weet welke versie is gebruikt.

Page 11: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

Statistieken: Per project of tool kun je een aparte ‘repository’ aanmaken. Herbruikbare tools combineren in één centrale repository heeft grote voordelen (delen, samenwerken, leren). OpenEarth tools, oa gebruikt in Building with Nature, is open source en freeware.

Page 12: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

Raw data Scripts Database

Store raw data in subversion to

keep track of history

Stored files (netcdf)

accessible through the web

Extract Transform Load

Charts & Maps

Tools and websites

Provide

Add meta information

Script to convert raw data into

netcdf

OpenEarthRawData

OpenEarth

OPeNDAP

OpenEarthTools

Data workflow: OpenEarth heeft de volgende afspraken voor het beschikbaar maken van data: 1. ruwe data in SubVersion, 2. scriptgewijze verrijking met meta data naar NetCDF, 3. automatisch uploaden *.nc files naar OpenDap, en 4. flexibele toegang

Page 13: DataTools Models Data, modellen en tools: Voor het oplossen van elk complex waterbouwkundig vraagstuk gebruik je in meer of mindere mate: data, modellen.

Community of practice: De OpenEarth opzet heeft een brede kring gebruikers (Building with Nature, EU FP7 MICORE, Delft Cluster etc.). Vanuit Building with Nature worden trainingen verzorgd (SubVersion gebruik, programmeerstandaarden, etc.).