CHEASE is an open access fixed-boundary equilibrium code. It has been published in:


H. Luetjens, A. Bondeson, O. Sauter, The CHEASE code for toroidal MHD equilibria, Comput. Phys. Commun. 97 (1996) 219 (with updated comments)


The other part of the documentation is the 1992 CPC paper. There are many new features since 1996 publication. A new documentation will appear at some point, but you can contact Olivier Sauter in the meantime.


You can use the code at your wish, but we ask you to fill in the following agreement including the CLA agreement: CHEASE_pdf and send it to


CHEASE uses COCOS=2 internally, but has COCOS_in and COCOS_out namelist variable to match to any COCOS index (see below)


CHEASE is developed under svn and we publish below the various tagged version. For further details and questions, please ask the contact person:


You can get the last version from SPC-EPFL gitlab server:

- once you have sent the signed agreement you can perform for example:
git clone chease

(you can ask to be registered as a member to use git clone )


(Note that the svn server is obsolete, now we use git)


We have now a slack channel for CHEASE, you can use: or ask to join in


A new file explaining how to install and run the make commands has been added: src-f90/Make_README


       CHEASEgui as well as read_eqdsk use extensively the cubic spline with smoothing package: interpos ( which you might be interested in using as well (matlab, fortran, C, etc). You will need to sign a similar agreement.


There is a matlab GUI within the above release (in matlab directory) which is useful to get used to running CHEASE in chease/matlab/CHEASEgui (see demos below)

To use the CHEASEgui you should have the executable "chease" in your path as well as the files o.chease_to_cols, and (which are in the main CHEASE/trunk/scripts_for_bin directory).

Typically you would have:

PATH=$PATH:$HOME/bin # in your .profile, .cshrc or .bashrc file (or equivalent)

cd $HOME/bin

ln s .../chease/src-f90/chease .

ln s .../chease/scripts_for_bin/o.chease_to_cols .

ln s .../chease/scripts_for_bin/ .

ln s .../chease/scripts_for_bin/ .

matlab -nodesktop

>> addpath .../chease/matlab/CHEASEgui

>> CHEASEgui

>>(then click on "plot and save" for the plasma boundary, the pprime profile and the TTprime or current profile, then choose suffix (default run_name) then click "prepare CHEASE input", then in menu "Run CHEASE")


You can create a file containing all the output 1D profiles with (from the chease directory):

chease > o.cheaseoutput

o.chease_to_cols o.cheaseoutput o.cheaseoutput.cols


>> addpath matlab/CHEASEgui

>> plotdatafile(' o.cheaseoutput.cols') % which will open a GUI to plot profiles



Useful Notes


       Master project with initial implementation of q as input (nsttp=5)

       Notes on the CHEASE normalizations

       COCOS transformations and tools:

       COCOS paper defining uniquely the multiple options for Coordinate COnventionS (by O. Sauter et S. Y Medvedev)

       CPO structure. CHEASE now uses the equilibrium structure originally proposed by the EU-ITM Task Force: CPO paper


Using CamStudio, the following demo are available (.avi large files)

       Demo 1 (42MB) for getting started with CHEASEgui

       Demo 2 (20MB) to easily specify a reverse q profile



New option for CHEASE with q profile in input: NSTTP = 5

You can test this option using:

make test_chease_q

Then looking at the files in /tmp/$USER/nsttp_tests