SWAT+ Developer Workshop Thessaloniki 2026
The workshop will be offered both in-person and online 15-16 June 2026, approximately 09:00-17:00. Coffee breaks and lunch provided. Please bring your own laptop. We will contact you the week before the workshop to make sure you have the final details.
Objective
All participants will have an understanding of the principle SWAT+ model source code structure using development tools, compile the model from source using Codespaces, implement collaboratively a new SWAT+ routine or make I/O improvements and additions to the model, test them using a custom dataset, exercise the GitHub workflow for pushing changes and creating a pull request.
Prerequisites
- Personal GitHub account
- GitHib fork of the swatplus main model in their account
- Notebook Computer
- Basic understanding of Fortran 2003
Tentative Agenda
Block 1 (15 min): Introduction (All)
- Participants, Presenters, Objective, Scope
Block 2 (15 min): SWAT+ at GitHub (Frank, Olaf)
- Latest update on site setup
- Statistics, Structure
- Features (Actions, Documentation, Navigation)
Block 2 (30 min): SWAT+ Codespaces Dev (Frank, Olaf)
- Starting a Codespace Instance
- CMake brief overview
- Select Compiler, Build SWAT+, Run example scenario
- Upload and download a dataset
- Terminating a Codespace session
Block 3 (90 min): SWAT+ Code structure and Coding Conventions (Jeff, Frank, Taci)
- Modules, Objects (HRU, …)
- Subroutines, functions
- Source files
- Type of modules
- Coding conventions
- I/O handling
- Best practices
Block 4 (180 min): A model addition (routine, I/O, etc,) (James, Frank, Jeff, Olaf)
- Work in groups
- Implement a new routine/addition/change
- Add I/O as needed
- Compile and test locally
- Debugging in VSCode
- Use AI for coding assistance
- Commit and push changes to Fork, creating a Pull Request
Block 5 (30 min): Documenting the SWAT+ source code (Olaf)
- Ford documentation convention
- Using AI to generate documentation
- Commit and push documentation changes to Fork
Block 5 (60 min): Contributing to the Online SWAT+ Documentation (Natalja, Kathrin)
- The SWAT+ documentation on Gitbook
- Documentation structure and conventions
- Editing and contributing to SWAT+ documentation
- Submit Review requests
Block 6 (15 min): Conclusion, Wrap-up
- Workshop feedback on accomplishments.
- Followup meetings