ZVX108E Hydrology

Hydrology WS 24/25 Sessions Companion

Author

Petr Pavlík

Published

November 28, 2024

Introduction

The ZVX108E Hydrology taught at the Czech University of Life Sciences is an introductory undergraduate course with students of various scientific background, many of whom do not possess knowledge of any programming language yet. Therefore students are introduced within the sessions to the R programming language, which serves for decades as a great tool for scientific data processing, statistical evaluation, visualization and reporting. The choice of R over other tools (like Matlab, Python or Julia) is opinionated. R is told to be “developed by statisticians for statisticians” and as such fits well into the workflow of hydrological data processing, which in most of scenarios start with some statistical analysis. The language is more straightforward to learn than others, especially for non-programmers and does not maim a student’s workflow with plethora of environments and mutually incompatible package versions.

Since the course only contains six practical sessions, oriented to various parts of hydrology, we focus on the basic and merit. The text starts with a fairly fast-paced introduction to R language and it is due to this, that it did not end far from it. We purposefully avoid using what is considered a modern approach in data workflow (mainly with the help from tidyverse & data.table) as well using native pipe |> operator, a syntactical feature from (R>=4.1.0) which we consider too big of a change of the programming paradigm for a newcomer

This text was created with the use of 4.4.0 and namespaces of following packages:

             Version
base           4.4.0
cli            3.6.3
compiler       4.4.0
datasets       4.4.0
digest        0.6.37
evaluate       1.0.1
fastmap        1.2.0
glue           1.8.0
graphics       4.4.0
grDevices      4.4.0
htmltools    0.5.8.1
htmlwidgets    1.6.4
jsonlite       1.8.9
knitr           1.49
lifecycle      1.0.4
magrittr       2.0.3
methods        4.4.0
rlang          1.1.4
rmarkdown       2.29
rstudioapi    0.17.1
stats          4.4.0
stringi        1.8.4
stringr        1.5.1
tools          4.4.0
utils          4.4.0
webexercises   1.1.0
xfun            0.49

Reproduction of all the materials should be possible using the same versions.