ZVX108E Hydrology

Hydrology WS 23/24 Individual Sessions Companion

Authors

Petr Pavlík

Hossein Abbasizadeh

Petr Máca

Published

November 23, 2023

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 we introduce within the sessions 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 such as fits well into the workflow of hydrological data processing, which in most of scenarios start with some statistical analysis. We believe that the language is more straightforward to learn than others, especially non-programmers and does not maim a student’s workflow with plethora of environments and mutually incomparable versions.
Since the course only contains six practical sessions, oriented to various parts of hydrology, we focus on the basic and merit. The book 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 newbie.

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

            Version
base          4.3.0
cli           3.6.1
compiler      4.3.0
datasets      4.3.0
digest       0.6.33
evaluate       0.23
fastmap       1.1.1
glue          1.6.2
graphics      4.3.0
grDevices     4.3.0
htmltools     0.5.7
htmlwidgets   1.6.2
jsonlite      1.8.7
knitr          1.45
lifecycle     1.0.4
magrittr      2.0.3
methods       4.3.0
rlang         1.1.2
rmarkdown      2.25
rstudioapi   0.15.0
stats         4.3.0
stringi       1.8.1
stringr       1.5.1
tools         4.3.0
utils         4.3.0
xfun           0.41

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