Overview

This is the homepage of the Tsunami Lab taught at Friedrich Schiller University Jena by the Scalable Analyses lab. Most information will be shared here. However, some data, e.g., data concerning exams, will be shared only through respective FSU channels: e-mail, Moodle or Friedolin.

_images/mpi_scaled.png

Fig. 1 Visualization of an MPI-parallelized tsunami simulation of the March 11, 2011 M 9.1 Tohoku event running on 16 ranks.

Format

Our meetings take place in the following time slot:

  • Thu, 10:00AM - 01:00PM

All meetings are face-to-face in room 3068, Inselplatz 5.

The lab has a Matrix room hosted on the university’s Matrix server. You may join the channel with any Matrix account, including those registered with other servers. The Matrix invite to the class’s room is shared in Moodle. The room is not encrypted, and you will only see the room’s history from the time since you joined.

Artificial Intelligence

The use of artificial-intelligence (AI) assistants is allowed and encouraged. Use AI tools responsibly. Here are some good use cases:

  • Ask for help after attempting a task on your own and getting stuck for a while.

  • Discuss your solutions and ask for feedback on your code and answers.

  • Look up the meaning of errors and warnings (e.g., compiler errors).

Do not produce or submit “AI slop.” Do not paste entire tasks into a chatbot or submit the output as your solution.

Schedule

Lectures

Date(s)

Welcome, f-wave Solver

09.04

Riemann Problems and Solutions

16.04

Digital Elevation Models

23.04

Dimensional Splitting

30.04

NetCDF

07.05

Okada Model, Map Projections, Bathymetry

21.05

Benchmarking

28.05

Optimization and Instrumentation

04.06

Project Phases

Due Date

Presentation

Riemann Solver

15.04

16.04

Finite Volume Discretization

22.04

23.04

Bathymetry & Boundary Conditions

29.04

30.04

Two-Dimensional Solver

06.05

07.05

Large Data Input and Output

20.05

21.05

Tsunami Simulations

27.05

28.05

Checkpointing and Coarse Output

03.06

04.06

Optimization

10.06

11.06

Individual Phase (10.1’s draft)

10.06

individual

Parallelization

17.06

18.06

Individual Phase (10.2’s proposal)

17.06

18.06

Individual Phase (status)

25.06, 02.07

Individual Phase (final)

08.07

09.07

Final Submission

?

Submissions

Our lab follows good software engineering practices. In short: Have a keen eye on the quality of your software, future you will be thankful! Do the following:

  • Document your source code, especially all functions you introduce.

  • Write meaningful commit messages.

  • Develop and maintain unit tests for all software pieces. Make it a habit to introduce unit tests together with new features, this makes this requirement painless.

  • Take “issues” seriously, e.g., compiler warnings, and do not take shortcuts: no hacks!

  • Test your software and your user guides on the reference-machine(s).

If not stated otherwise, the following deliverables have to be handed for every phase of the project:

  • Code in a hosted git repository. You may use the university’s GitLab server git.uni-jena.de or any other hosting solution, e.g., GitHub. Source code documentation and unit tests are mandatory.

  • Visualizations of conducted runs.

  • User documentation using Sphinx on how to build and use your code. Include a compiled version of your documentation. You may host your documentation as well, for example, by using Read the Docs.

  • Project report using Sphinx with 1-2 pages addressing the respective submission. Briefly address the individual contributions of each group member.

We use Moodle for all submissions:

  1. Upload a single tar.xz file to Moodle which contains all files of your submission.

  2. Submit links to the public or private git repository containing the code of your submission. Include links to other data where appropriate. Note: You must submit the links every week, even if they stay unchanged.