PASTAS: OPEN SOURCE TIJDREEKSANALYSE NHV Middag - Open Source Software in de hydrologie 2018-09-20 R.A. Collenteur, M. Bakker, R. Caljé, F. Schaars 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 1
TIJDREEKSMODEL Bijvoorbeeld: Het verklaren van de grondwaterstand met neerslag en verdamping Tijdreeksmodel 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 2
TIJDREEKSMODEL: NEERSLAG EN VERDAMPING 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 3
TIJDREEKSMODEL: GRONDWATERWINNINGEN 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 4
WAT IS PASTAS? Een open source python package voor het uitvoeren van tijdreeksanalyse van hydrologische tijdreeksen *PASTAS = Python Applied Statistical Timeseries Analysis Software 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 5
AANLEIDING TOT ONTWIKKELING PASTAS Wetenschappelijk Faciliteren nieuwe inhoudelijke ontwikkelingen Reproduceerbaar Praktisch Scripts Nieuwe toepassingen 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 6
TIJDREEKSANALYSE OP MONITORINGSNETWERK Diepte peilfilter [m] Analyse op het totale hydrologische monitoringsnetwerk van Brabant Water: ~ 2000 peilfilters 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 7
OPTIMALISATIES / STATISTIEKEN Optimalisatie keuzen: starttijd, eindtijd, frequentie, warmup periode, solver, foutenmodel, gewichten, initiele waarden.. Statistieken: EVP, RMSE, RMSI, GxG, Pearson-R, SSE, AIC, BIC.. 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 8
PASTAS OP GITHUB Code gehost op Github: https://github.com/pastas/pastas Master Branch: Stabiele versie Dev Branch: Ontwikkel versie 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 9
8 KENMERKEN VAN GOEDE SOFTWARE (VOLGENS ONTWIKKELAARS*) 1. Het programma werkt 2. De code is makkelijk te lezen 3. De programmatuur is te testen 4. De software is eenvoudig te onderhouden 5. De code is plezierig om naar te kijken 6. De software is eenvoudig aanpasbaar 7. Het programma is simpel 8. De programmatuur is efficiënt *https://computerworld.nl/development/85770-8-kenmerkenvan-goede-softwarecode NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 20-9-2018 10
CODE KWALITEIT Gebruik maken van codeer stijl conventies (bv. PEP8 in Python) Automatische tests voor elke code update met Travis CI Gratis voor open source projecten TO DO: Schrijven van tests 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 11
SUCCESVOLLE INGREDIËNTEN OS SOFTWARE? 1. Makkelijke installatie 2. Software design voor intuïtief gebruik 3. Gebruiksvriendelijk 4. Goede voorbeelden 5. Goede documentatie 6. Plek voor vragen/bugs 7. Versiebeheer 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 12
MAKKELIJKE INSTALLATIE >>> Pip install pastas 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 13
EEN GOED BEGIN. IS HET HALVE WERK Software design (voor intuïtief gebruik) owat moet het kunnen? o Welke dingen moet het in de toekomst kunnen? o Hoe moet het worden gebruikt? 1 e Pastas-overleg, 5 april 2016 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 14
VISUALISATIES Verschillende standard plots aanwezig Gemakkelijk zelf te visualiseren met Python 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 15
DOCUMENTATIE (Docs: pastas.readthedocs.io) Documentatie gratis gehost op ReadTheDocs Automatisch geüpdatet na elke update op de Github repository Te vinden: Voorbeelden Uitleg van installatie API-Docs 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 16
DOCUMENTEREN VAN (PYTHON) CODE Documentatie van de software wordt automatisch gemaakt vanuit de Docstrings in de Python code met behulp van Sphinx-Doc (www.sphinx-doc.org) 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 17
VERSIEBEHEER Versies worden uitgebracht na grote veranderingen Bevordert nadenken over back compatibility 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 18
INTERACTIE MET DE GEBRUIKER Github Issues voor het reporten van Bugs en Verbeteringen https://github.com/pastas/pastas/issues Vragen en Tips via StackOverflow (maar dat werkt nog niet echt) https://stackoverflow.com/questions/tagged/pastas 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 19
GEBRUIKERS ZOEKEN, VINDEN EN VASTHOUDEN Msc. Geohydrologie TU Delft Pastas workshop Werk samen Met andere OS Software Bv. HKVFEWSPY 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 20
TOEKOMSTPLANNEN Inhoudelijk Niet-lineairiteit Toetsen op Statistische aannames Technisch Database voor tijdreeks(modellen) Gebruikersinteractie: Duidelijke plek voor vragen en antwoorden (werkt StackOverflow?) Organiseren van jaarlijkse Pastas cursussen en bijeenkomsten 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 21
TAKE HOME MESSAGE 1. Denk goed na over software design voor je begint 2. Houd de code leesbaar, begrijpelijk en netjes 3. Zorg voor goede voorbeelden 4. Zoek actief contact met de gebruiker 20-9-2018 NHV OPEN SOURCE SOFTWARE IN DE HYDROLOGIE 22