Presentation by Christoph Tyralla (Björnsen Consulting Engineers) at the Delft-FEWS International User Days 2018, during the Delft Software Days - Edition 2018. 7 & 8 November 2018, Delft.
DSD-INT 2018 HydPy framework for developing and sharing hydrological models and combine in Delft-FEWS applications - Tyralla
1. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
Using the HydPy framework to develop, improve, test, document,
and share hydrological models, and to combine them in Delft-
FEWS applications.
Christoph Tyralla (RUB BCE)
Gordon Horn (RUB)
Gernot Belger (BCE)
Bastian Klein (BfG)
Peter Krahe (BfG)
Dennis Meißner (BfG)
Ruhr-Universität Bochum
Institute of Hydrology, Water Resources Management
and Environmental Engineering
Prof. Dr. rer. nat. habil. A. Schumann
The German Federal Institute of Hydrology
Department M2: Water Balance, Forecasting and Predictions
8/11/2018
2. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
Software configuration and development requires testing
Setting up an automated test
environment in the context of Delft-
FEWS (using 'workflowTestRun')
Using the HydPy framework to develop, improve,
test, document, and share hydrological models,
and to combine them in Delft-FEWS applications.
Complex systems require testing on different levels!
Large systems require test automation!
Open systems require understandable tests!
We require good tools for testing!
3. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
From research to practice
University‘s new HBV idea:
non-linear base flow
𝑄1 = 𝐾4 ∙ 𝐿𝑍 𝐺𝑎𝑚𝑚𝑎
1. just change the equation,
2. but code all other equations first
3. program IO for yourself
4. couple with a calibration algorithm
5. perform the analysis
6. write a paper
7. reprogram IO for others
8. get the model running in different contexts
9. add (at least a few) tests
10.write the documentation
11.choose a licence
12.deploy the model
13.write a FEWS adapter
14.…
5. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
Coding = documenting = testing
6. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
Coding = documenting = testing
7. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
H-Land
H-Stream
L-Land
parameters
control
Tind
EQB
derived KB
sequences
inputs
Glob
PET
fluxes ET0
states BoWa
equations calc_et0
Version 1
Version 2
L-Stream
L-Land Version 1
L-Land Version 2
base model vs. application model
Model development
8. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
Integration testing
9. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
10. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
11. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
12. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
HydPy-L-Land (LARSIM): ACKER
13. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
Model configuration
14. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
Workflow configuration (for FEWS)
15. Using HydPy to combine hydrological
models in FEWS applications. 7/11/2018
To-do:
• increase the test coverage of currently 93 % !
• perform a static code analysis ?
• add beginner tutorials to the online documentation !
• release a FEWS-HydPy demo project !
• finish the OpenDA-HydPy wrapper !
• support High-Performance Computing ?
• invite colleagues to apply HydPy and to implement their own models
Thank you for your attention!
Christoph Tyralla
c.tyralla@bjoernsen.de
https://github.com/hydpy-dev/hydpy
https://hydpy-dev.github.io/hydpy/index.html