Old tutorials

Developing new modules

Misc tutorial videos

Tutorial videos covering how some of the most used OMFIT modules work (many videos are mute).

1st code-camp (Nov 2016)

The first OMFIT code-camp took place this week at General Atomics. Each day started with a round table discussion (fueled by coffee and pastries) where the participants debriefed on the accomplishments of the day before, and stated their goals for the day. From this discussion, developers self-organized into small working groups, which efficiently made decisions and progressed in their code development. Co-location allowed more experienced developers to teach the best OMFIT development practices to less seasoned ones. Up to 15 developers and their laptops simultaneously filled the table of the GA-theory conference room. Some of the technical highlights by less seasoned OMFIT developers include: B. Lyons’s extension of the OMFIT M3D-C1 module to enable routine execution of the code for linear stability and 3D response calculations; J. Candy’s adaptation of the TGYRO module to support particle evolution of individual ion species; initial work by C. Holland to support visualization of GYRO results in OMFIT; development by T. Wilks of a new module to handle 2D SOL grid generations for the BOUT++ code and other modules; and C. Rea’s development of a DATABASE module for directly interfacing SQL databases and machine learning libraries. Significant progress has also been made on the OMFITprofiles, TRANSP, and SCOPE physics modules, as well as the framework itself. At the end of each day, the developers were invited to engage in sports and other social activities that further reinforced the already strong teamwork spirit among code-campers.

Everybody is focused
Morning briefing by the pool

5th workshop (April 2014)

In the 5th workshops we review how to run kineticEFITs and showcase how OMFIT can be used to perform transport analyses using the GACODE suite of codes. The recording of the 5th workshop can be found in the tutorials section above.

4th workshop (April 2014)

For our 4th workshop we show how to create a kinetic equilibrium and edge stability analysis in OMFIT

3rd workshop (March 2013)

The objective of this third workshop is to learn how to create new modules. As an example to guide us through this workshop we will create a new module to execute some fusion code (suggestions are welcome). This process will require writing a Python script that provides input data to the code, runs the code, and retrieves the output data and places it into the tree. We will go over the OMFIT APIs that allow us to do that easily. We will also talk about the tools for sharing modules among different users.

2nd workshop (Feb 2013)

In the second workshop we learn how to load and use existing modules. In particular we will work with EFIT, ONETWO, and kinetic EFITs from within OMFIT.

1st workshop (Feb 2013)

The objective of this first seminar is to teach you how to execute OMFIT on the GA servers and introduce you to the OMFIT GUI and the OMFIT tree data structure. As a sample application, we will learn how to play with namelist files both interactively and in batch.


  • Interacting with NetCDF files (wiki)