GENE/GENE-X user training and tutorial
from
Monday, January 12, 2026 (1:00 PM)
to
Friday, January 16, 2026 (4:30 PM)
Monday, January 12, 2026
1:00 PM
Welcome
-
Frank Jenko
(
MPPL
)
Welcome
Frank Jenko
(
MPPL
)
1:00 PM - 1:10 PM
Room: D2 436 (seminar room top floor)
Brief Welcome and Overlook
1:10 PM
Introduction to GENE - GENE Family, Physics Models used in GENE
-
Tobias Goerler
(
IPP
)
Introduction to GENE - GENE Family, Physics Models used in GENE
Tobias Goerler
(
IPP
)
1:10 PM - 1:55 PM
Room: D2 436 (seminar room top floor)
Brief introduction into the underlying gyrokinetic equations and overview over GENE family codes
1:55 PM
Break
Break
1:55 PM - 2:00 PM
Room: D2 436 (seminar room top floor)
2:00 PM
GENE - Numerical Methods
-
Tobias Goerler
(
IPP
)
GENE - Numerical Methods
Tobias Goerler
(
IPP
)
2:00 PM - 2:45 PM
Room: D2 436 (seminar room top floor)
Overview over numerical methods employed in GENE, discretizations, flux-tube vs. global simulation domains and schemes, block-structured grids, background distribution treatments, collision operators (may be split into sub-contributions)
2:45 PM
Coffee break
Coffee break
2:45 PM - 3:15 PM
Room: D2 436 (seminar room top floor)
3:15 PM
GENE - optimization approaches and pitfalls (CPU/GPU)
-
Gabriele Merlo
(
IPP
)
GENE - optimization approaches and pitfalls (CPU/GPU)
Gabriele Merlo
(
IPP
)
3:15 PM - 4:00 PM
Room: D2 436 (seminar room top floor)
Introduction to GENE's "auto-parallelisation" and alternative code paths (also in view of CPU/GPU), reduced precision, grid optimisation, scalings
4:00 PM
Installing GENE - basic introduction
-
Tobias Goerler
(
IPP
)
Installing GENE - basic introduction
Tobias Goerler
(
IPP
)
4:00 PM - 4:30 PM
Room: D2 436 (seminar room top floor)
More detailed look at the make and cmake Makefile systems, necessary libraries etc
4:30 PM
Hands-On Session I: Installing GENE / Running regression tests
Hands-On Session I: Installing GENE / Running regression tests
4:30 PM - 5:15 PM
Room: D2 436 (seminar room top floor)
5:15 PM
Q&A and requests for the next day
Q&A and requests for the next day
5:15 PM - 5:35 PM
Room: D2 436 (seminar room top floor)
Tuesday, January 13, 2026
9:00 AM
Setting up GENE simulations - linear, nonlinear, parameter scans, etc
-
Tobias Goerler
(
IPP
)
Gabriele Merlo
(
IPP
)
Setting up GENE simulations - linear, nonlinear, parameter scans, etc
Tobias Goerler
(
IPP
)
Gabriele Merlo
(
IPP
)
9:00 AM - 9:45 AM
Room: D2 436 (seminar room top floor)
Guided tour on how to set up an individual GENE simulation and parameters scans
9:45 AM
Post-processing GENE generated files
-
Gabriele Merlo
(
IPP
)
Tobias Goerler
(
IPP
)
Post-processing GENE generated files
Gabriele Merlo
(
IPP
)
Tobias Goerler
(
IPP
)
9:45 AM - 10:30 AM
Room: D2 436 (seminar room top floor)
Introduction to the most relevant IDL and python-based post-processing routines and typical observables
10:30 AM
Coffee Break
Coffee Break
10:30 AM - 11:00 AM
Room: D2 436 (seminar room top floor)
11:00 AM
Hands-On Session II: Starting a number of GENE flux-tube simulations
Hands-On Session II: Starting a number of GENE flux-tube simulations
11:00 AM - 12:00 PM
Room: D2 436 (seminar room top floor)
Hands-on / breakout sessions with focus on running tokamak and stellarator flux-tube simulations
12:00 PM
Lunch break
Lunch break
12:00 PM - 1:30 PM
Room: D2 436 (seminar room top floor)
1:30 PM
Hands-On Session III: Flux-tube simulations and analysis
Hands-On Session III: Flux-tube simulations and analysis
1:30 PM - 2:30 PM
Room: D2 436 (seminar room top floor)
Continuation/finalisation of Hands-On Session II with further refinements and/or running post-processing tools
2:30 PM
Coffee break
Coffee break
2:30 PM - 3:00 PM
Room: D2 436 (seminar room top floor)
3:00 PM
Hands-On Session IV: Global GENE simulations
Hands-On Session IV: Global GENE simulations
3:00 PM - 4:30 PM
Room: D2 436 (seminar room top floor)
Running and analysing small radially global GENE simulations in smaller groups
4:30 PM
Final Q&A, closing and contingency
Final Q&A, closing and contingency
4:30 PM - 5:00 PM
Room: D2 436 (seminar room top floor)
Wednesday, January 14, 2026
9:00 AM
Welcome & Introduction
Welcome & Introduction
9:00 AM - 9:30 AM
Room: D2 436 (seminar room top floor)
9:30 AM
Introduction to GENE-X for users
Introduction to GENE-X for users
9:30 AM - 10:30 AM
Room: D2 436 (seminar room top floor)
In this session, we provide a comprehensive introduction to the GENE-X code, tailored for users. We'll cover the fundamental equations, numerical methods, and key features, as well as discuss the underlying physics, capabilities, and limitations. Additionally, we'll explore the software structure and highlight previous use cases to illustrate the code's applications and potential.
10:30 AM
Coffee break
Coffee break
10:30 AM - 11:00 AM
Room: D2 436 (seminar room top floor)
11:00 AM
Installing the code: first steps
Installing the code: first steps
11:00 AM - 12:00 PM
Room: D2 436 (seminar room top floor)
In this session, we will guide you through the process of installing the GENE-X code on both known and unknown machines. We will cover the steps to clone, build, and test the code for validity, as well as perform small sample runs to verify the installation.
12:00 PM
Lunch break
Lunch break
12:00 PM - 1:30 PM
Room: D2 436 (seminar room top floor)
1:30 PM
Parameters required for a GENE-X simulation
Parameters required for a GENE-X simulation
1:30 PM - 2:30 PM
Room: D2 436 (seminar room top floor)
This session will cover the essential parameters required for a GENE-X simulation, including parameter basics, default values, species parameters, parallelization settings, and multigrid settings. The topics will be discussed in detail, including parameter checks, default parameters, and additional settings in the TCV-X21 parameter file.
2:30 PM
Coffee break
Coffee break
2:30 PM - 3:00 PM
Room: D2 436 (seminar room top floor)
3:00 PM
Hands on: installation and first steps
Hands on: installation and first steps
3:00 PM - 4:00 PM
Room: D2 436 (seminar room top floor)
In this hands-on session, participants will have the opportunity to install and test the GENE-X code under the guidance of expert users. Through a combination of instruction and hands-on experience, participants will be able to verify their installation and ensure that they have a fully functional and ready-to-use code for their applications.
4:00 PM
Hands on: setting up a simulation test case
Hands on: setting up a simulation test case
4:00 PM - 5:00 PM
Room: D2 436 (seminar room top floor)
This session will cover the setup and submission of a production run using the TCV-X21 snippet, including the basic elements required for a production job, parallelization, and submission with SBATCH, as well as using gxcheck to validate input and submitting a test run.
6:30 PM
Workshop Dinner
Workshop Dinner
6:30 PM - 9:00 PM
Thursday, January 15, 2026
9:00 AM
Overview of GENE-X postprocessing tools
Overview of GENE-X postprocessing tools
9:00 AM - 10:00 AM
Room: D2 436 (seminar room top floor)
In this overview session, we will explore the possibilities of post-processing GENE-X data, including the use of internal Python tools to analyze raw simulation output, the introduction of the Torx library, and examples of its application. It also introduces key concepts such as unit conversion using torx.quantities and the synergy of xarray and dask for lazy loading. We will also demonstrate enhanced post-processing capabilities using the storx module.
10:00 AM
How to install the Torx library
How to install the Torx library
10:00 AM - 10:30 AM
Room: D2 436 (seminar room top floor)
This session covers the first steps in working with the Tor-X library, including installing the library, using conda virtual environments, and navigating the Tor-X documentation system. Additionally, the session will guide participants through a moments analysis script using test data and examine the TCV-X21 moments in a saturated turbulent state.
10:30 AM
Coffee break
Coffee break
10:30 AM - 11:00 AM
Room: D2 436 (seminar room top floor)
11:00 AM
Hands on: installation of Torx and first steps
Hands on: installation of Torx and first steps
11:00 AM - 12:00 PM
Room: D2 436 (seminar room top floor)
In this hands-on session, participants will be guided by post-processing experts as they install the Torx library and run existing notebooks on GENE-X test data. If simulation runs from the previous day were completed, the session will also involve analyzing the resulting output.
12:00 PM
Lunch break
Lunch break
12:00 PM - 1:30 PM
Room: D2 436 (seminar room top floor)
1:30 PM
Optimize simulation performance
Optimize simulation performance
1:30 PM - 2:15 PM
Room: D2 436 (seminar room top floor)
This session focuses on performance monitoring and optimization techniques for GENE-X simulations, covering topics such as monitoring average timestep and fluctuations, analyzing profiler output, and performing simple performance tests to evaluate simulation speed. Additionally, it explores different hybrid MPI/OpenMP setups, including tasks-per-node and cpus-per-task, as well as NUMA domains, to optimize performance. The session also delves into investigating unusual cluster behavior and optimizing task distribution to dimensions phi, vp, mu, and sp, providing users with the knowledge to troubleshoot and optimize their simulations.
2:15 PM
Simulation pitfalls
Simulation pitfalls
2:15 PM - 3:00 PM
Room: D2 436 (seminar room top floor)
This session covers troubleshooting techniques for GENE-X simulations, including analyzing the output of a successful code run and identifying potential problems in job.out and debug_log.txt files. It also provides guidance on how to spot issues in moments output, such as CFL unstable runs, lack of hyperdiffusion, and incorrect buffer zone settings. Additionally, the session includes examples of common problems, such as unsuccessful attempts to create a mesh, and weird meshes generated, including those with no divertor, isolated points, or unexpected limiters.
3:00 PM
Coffee break
Coffee break
3:00 PM - 3:30 PM
Room: D2 436 (seminar room top floor)
3:30 PM
Hands on: Creating your own postprocessing notebooks with Torx
Hands on: Creating your own postprocessing notebooks with Torx
3:30 PM - 5:00 PM
Room: D2 436 (seminar room top floor)
This session guides participants in creating a notebook from scratch, covering the basics of Jupyter magics and Tor-X imports, finding functions in Tor-X, and loading GENE-X data from scratch. It also delves deeper into xarray and dask, including chunking and persisting, and teaches participants how to select snaps with xarray, slice in Python, and perform basic xarray operations like averages. Additionally, the session covers plotting 2D moments, Tor-X points vs. R,Z, and provides tips and tricks for creating nice plot setups and saving as vector graphics. Finally, it includes an analysis example of creating a flux surface lineout and performing interpolation.
Friday, January 16, 2026
9:00 AM
GENE-X equilibrium and data preprocessing
GENE-X equilibrium and data preprocessing
9:00 AM - 10:00 AM
Room: D2 436 (seminar room top floor)
This session covers the basics of using JupyterLab and the pxequi library to work with GENE-X simulations, including installing the library and opening JupyterLab, fixing missing files stored using Git LFS, and creating Jupyter notebooks from version-controlled .py files. It also covers running existing example notebooks, fixing issues due to deprecations, and understanding the steps required for preprocessing and equilibrium creation, as well as explaining exclusion and divertor polygons and validating the creation of an equilibrium by field line tracing.
10:00 AM
Hands on: bring your own case to preprocess
Hands on: bring your own case to preprocess
10:00 AM - 10:30 AM
Room: D2 436 (seminar room top floor)
In this hands-on session, participants can bring their own equilibrium files to be supervised by preprocessing experts. The session covers the creation and processing of complex-shaped equilibria in GENE-X simulations, including an example of processing an equilibrium not yet included in the pxequi examples. Participants will learn how to find X-points, set divertor and exclusion polygons by hand, and adjust the size of the divertor in the simulation. This session aims to provide users with the skills and knowledge to create and analyze complex-shaped equilibria in GENE-X simulations.
10:30 AM
Coffee break
Coffee break
10:30 AM - 11:00 AM
Room: D2 436 (seminar room top floor)
11:00 AM
Hands on: bring your own case to preprocess
Hands on: bring your own case to preprocess
11:00 AM - 12:00 PM
Room: D2 436 (seminar room top floor)
In this hands-on session, participants can bring their own equilibrium files to be supervised by preprocessing experts. The session covers the creation and processing of complex-shaped equilibria in GENE-X simulations, including an example of processing an equilibrium not yet included in the pxequi examples. Participants will learn how to find X-points, set divertor and exclusion polygons by hand, and adjust the size of the divertor in the simulation. This session aims to provide users with the skills and knowledge to create and analyze complex-shaped equilibria in GENE-X simulations.
12:00 PM
Lunch break
Lunch break
12:00 PM - 1:30 PM
Room: D2 436 (seminar room top floor)
1:30 PM
Hands on: setup your own case
Hands on: setup your own case
1:30 PM - 2:30 PM
Room: D2 436 (seminar room top floor)
By the end of this session, participants will be able to set up parameters files and create a submit script. They will also learn how to prepare experimental profiles for GENE-X simulations, including reading in profiles and setting the spacing_RZ parameter.
2:30 PM
Break
Break
2:30 PM - 2:45 PM
Room: D2 436 (seminar room top floor)
2:45 PM
Reserved for requests / Closing
Reserved for requests / Closing
2:45 PM - 4:00 PM
Room: D2 436 (seminar room top floor)
This session will conclude the GENE-X user training event, providing participants with a opportunity to ask questions and clarify any doubts they may have. Time will be reserved for participants to engage with the instructors and gain a deeper understanding of the material. We will also take this opportunity to connect participants to the GENE-X community, providing them with resources and information on how to stay involved and continue learning about the code and its applications.