Computer Programming in Hydrology

Lecturer (assistant)
  • Faizan Anwar [L]
Number0000002813
Type
Duration2 SWS
TermSommersemester 2024
Language of instructionEnglish
Position within curriculaSee TUMonline
DatesSee TUMonline

Admission information

See TUMonline
Note: None

Objectives

After participating in the module, students will be able to: 1. understand how data are seen by a computer processor 2. understand how computer instructions act on given data 3. to transfer their thoughts and equations into a form that a computer expects 4. develop computer code that models the various aspects of the hydrological cycle 5. evaluate and use source code written by others 6. plan and create larger projects together with others

Description

1. Introduction to programming using Python 2. Various built-in objects in Python 3. if/elif/else and for and while loops 4. Function and Classes 5. Introduction to the de-facto libraries 6. Processing input data 7. From problem to computer code 8. Writing a model 9. Debugging 10. Analyzing model outputs via statistics and plotting 11. Writing robust computer code

Prerequisites

None.

Teaching and learning methods

The module consists of lectures with integrated exercises. The students are encouraged to bring their own laptops. Portable open-source software will be made available to all. As the aim is to translate thoughts into computer code, different concepts and objects are introduced first with an example. The students are then asked to solve a small problem that demonstrates a use case in each lecture. Hands-on help is provided. Effective use of an Integrated Development Environment (IDE) is demonstrated. Various problems in hydrology are described. The students are then taught how to break down a complex task in to small chunks that are then prepared in a form that is suitable for a computer. As homework, students are given problems to solve either by themselves and/or in groups. Finally, the students write a report where they demonstrate their ability to understand a given situation and provide the solution in the form of a running computer code that takes input data, models it, analyzes the model outputs and summarizes them in the form of statistics and graphs.

Examination

The exam consists of a project report that is submitted by a group of students (up to two, 80% of the grade, ca. 25 pages) and its oral presentation (20% of the grade, individual group member evaluation, 60 minutes). The students demonstrate the ability to understand and model a given problem in hydrology (e.g., prepare input for a rainfall-runoff model, run it and show the results). They will analyze the problem and provide a solution using methods and tools that they learned in this course. In the project report, it should be possible to clearly identify the specific contribution of each group member. The final grade depends on how detailed their analysis and solution is and the quality of its presentation.

Recommended literature

Programming with Python for Engineers by Sinan Kalkan and Onur Tolga Sehitoglu and Gokturk Ucoluk

Links