GENE/GENE-X user training and tutorial

Europe/Berlin
D2 436 (seminar room top floor) (IPP / Max Planck Computing and Data Facility)

D2 436 (seminar room top floor)

IPP / Max Planck Computing and Data Facility

Boltzmannstr. 2 85748 Garching b. Muenchen Germany
Philipp Ulbl (MPPL), Tilman Dannert (MGRZ), Tobias Goerler (IPP)
Description

 

   

 

You are cordially invited to attend the GENE and GENE-X user training and tutorials for the numerical simulation of plasma core and edge turbulence, which will be held in Garching, Germany, from Monday 12th to Friday 16th January 2026. This event is organised by the Max Planck Institute of Plasma Physics (IPP) and the Max Planck Computing and Data Facility (MPCDF), in collaboration with the Plasma-PEPSC CoE.

Both GENE and GENE-X are Eulerian gyrokinetic plasma turbulence codes that largely share the same set of 5D gyrokinetic equations. With its field-aligned coordinates, the delta-f code GENE is highly suited for linear and nonlinear core and edge studies from ion gyroradius down to electron gyroradius scales in either flux-tube or radial annulus domains. Cross-separatrix studies including the scrape-off layer (SOL) are enabled by the full-f code GENE-X which exploits a flux-coordinate independent (FCI) approach for grid optimization. Both codes are highly parallelised and able to exploit both CPU and GPU architectures.

 

Registration has been closed because of the high number of participants.

Program

The program is designed to provide participants with a thorough understanding of the two codes and their respective applications, as well as the necessary skills and knowledge to use them effectively. For users who are already familiar with one of the codes and/or are only interested in one of the sessions, the program is split into two modules:

GENE user training (Mon 12th - Tue 13th)

This 1.5 day training aims at providing a basic understanding of the physics, methods, and strategies employed in the gyrokinetic turbulence code GENE (https://genecode.org). 

  • Installing and setting up the GENE code efficiently
  • Running simulations on CPU and GPU architectures
  • Post-processing and data analysis
  • Troubleshooting and optimization techniques

 

GENE-X user training (Wed 14th - Fri 16th)

The GENE-X user training program is a comprehensive course that covers the basics of the GENE-X code and its applications. The program includes sessions on:

  • Installing and setting up the GENE-X code
  • Running simulations and analyzing results
  • Preprocessing and equilibrium creation
  • Post-processing and data analysis
  • Troubleshooting and optimization techniques
  • Connecting with the GENE-X community

 

Both modules include a combination of theoretical and hands-on sessions, allowing participants to gain practical experience with the codes and its applications.

The format will be hybrid, i.e. remote participation will be possible as well, but we strongly encourage participants to attend in-person in Garching to also foster collaborations and community-building.

The meeting is addressed to plasma turbulence specialists and/or PhD/Master students, who want to learn (or improve their knowledge of) corresponding GENE/GENE-X simulations skills and satisfy the following

 

Prerequisites

Participants are expected to have basic skills in Unix-based operating systems, including navigating terminals and using SSH, as well as some familiarity with text editors such as vi/emacs. Knowledge of compiling code is helpful but not strictly necessary. Additionally, participants should have a basic understanding of Python, as it is required for both preprocessing and postprocessing simulation in- and output.

To participate in the program, individuals preferably have their own account on a cluster or supercomputer where the GENE and/or GENE-X codes can be installed. It is recommended that participants contact the organizers beforehand to confirm that their cluster is suited for this workshop and to clarify any questions they may have. Finally, participants should have a small budget (few kCPUh) allocated on a cluster to perform code verification tests and hands-on submissions of small test jobs. For EU residents it is possible to get a workshop account on Leonardo Booster at CINECA through ENCCS and NCC Germany. Please indicate the necessity in the registration form. A short basic introductory course can be attended online on Monday morning, where working on Leonardo Booster is introduced.

Workshop venue

The tutorial is organised at the Max Planck Institute of Plasma Physics (IPP) and the Max Planck Computing & Data Facility (MPCDF),  Boltzmannstr. 2, 85748 Garching near Munich, Germany.

 

Transportation

Directions and transportation info can be found here 

Recommended hotel

Courtyard by Mariott, hotel directly on Science Campus

Motel One Munich Garching

Soulmade

Gasthof Neuwirt

König Ludwig

Acknowledgement

EuroCC 2 and EuroCC4SEE have received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 101101903 and No 101191697. The JU receives support from the European Union’s Digital Europe Programme and Germany, Bulgaria, Austria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, Greece, Hungary, Ireland, Italy, Lithuania, Latvia, Poland, Portugal, Romania, Slovenia, Spain, Sweden, France, Netherlands, Belgium, Luxembourg, Slovakia, Norway, Türkiye, Republic of North Macedonia, Iceland, Montenegro, Serbia, Bosnia and Herzegovina. This course is co-organised by Plasma-PEPSC CoE and RISE, HLRS, JSC, and LRZ, for ENCSS and SIDE, the Swedish and German National Competence Centres for High-Performance Computing.

           

 

This work has been carried out within the framework of the EUROfusion Consortium, funded by the European Union via the Euratom Research and Training Programme (Grant Agreement No 101052200 — EUROfusion). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Commission. Neither the European Union nor the European Commission can be held responsible for them.

 

    • 1
      Welcome D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      Brief Welcome and Overlook

      Speaker: Frank Jenko (MPPL)
    • 2
      Introduction to GENE - GENE Family, Physics Models used in GENE D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      Brief introduction into the underlying gyrokinetic equations and overview over GENE family codes

      Speaker: Dr Tobias Goerler (IPP)
    • 1:55 PM
      Break D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 3
      GENE - Numerical Methods D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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)

      Speaker: Dr Tobias Goerler (IPP)
    • 2:45 PM
      Coffee break D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 4
      GENE - optimization approaches and pitfalls (CPU/GPU) D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      Introduction to GENE's "auto-parallelisation" and alternative code paths (also in view of CPU/GPU), reduced precision, grid optimisation, scalings

      Speaker: Gabriele Merlo (IPP)
    • 5
      Installing GENE - basic introduction D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      More detailed look at the make and cmake Makefile systems, necessary libraries etc

      Speaker: Dr Tobias Goerler (IPP)
    • 6
      Hands-On Session I: Installing GENE / Running regression tests D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 7
      Q&A and requests for the next day D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 8
      Setting up GENE simulations - linear, nonlinear, parameter scans, etc D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      Guided tour on how to set up an individual GENE simulation and parameters scans

      Speakers: Gabriele Merlo (IPP), Dr Tobias Goerler (IPP)
    • 9
      Post-processing GENE generated files D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      Introduction to the most relevant IDL and python-based post-processing routines and typical observables

      Speakers: Gabriele Merlo (IPP), Dr Tobias Goerler (IPP)
    • 10:30 AM
      Coffee Break D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 10
      Hands-On Session II: Starting a number of GENE flux-tube simulations D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      Hands-on / breakout sessions with focus on running tokamak and stellarator flux-tube simulations

    • 12:00 PM
      Lunch break D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 11
      Hands-On Session III: Flux-tube simulations and analysis D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      Continuation/finalisation of Hands-On Session II with further refinements and/or running post-processing tools

    • 2:30 PM
      Coffee break D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 12
      Hands-On Session IV: Global GENE simulations D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      Running and analysing small radially global GENE simulations in smaller groups

    • 13
      Final Q&A, closing and contingency D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 14
      Welcome & Introduction D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 15
      Introduction to GENE-X for users D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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 D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 16
      Installing the code: first steps D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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 D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 17
      Parameters required for a GENE-X simulation D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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 D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 18
      Hands on: installation and first steps D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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.

    • 19
      Hands on: setting up a simulation test case D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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 Gasthof Neuwirt

      Gasthof Neuwirt

      Münchner Str. 10, Garching
    • 20
      Overview of GENE-X postprocessing tools D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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.

    • 21
      How to install the Torx library D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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 D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 22
      Hands on: installation of Torx and first steps D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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 D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 23
      Optimize simulation performance D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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.

    • 24
      Simulation pitfalls D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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 D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 25
      Hands on: Creating your own postprocessing notebooks with Torx D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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.

    • 26
      GENE-X equilibrium and data preprocessing D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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.

    • 27
      Hands on: bring your own case to preprocess D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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 D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 28
      Hands on: bring your own case to preprocess D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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 D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 29
      Hands on: setup your own case D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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 D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany
    • 30
      Reserved for requests / Closing D2 436 (seminar room top floor)

      D2 436 (seminar room top floor)

      IPP / Max Planck Computing and Data Facility

      Boltzmannstr. 2 85748 Garching b. Muenchen Germany

      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.