Installation and Testing
Installation
- STOMMS has two compilation targets:
stomms_meshgenstomms_reader
stomms_meshgen is an executable to generate tokamak and stellarator models and meshes. stomms_reader is a library to read the STOMMS meshes. It contains a set of API’s to read the mesh data from stomms output. The dependencies for these targets are:
Simmetrix Simmodsuite (for
stomms_meshgen)PSPLINE (for
stomms_meshgen)Omega_h (for both
stomms_meshgenandstomms_reader)Adios2 (for both
stomms_meshgenandstomms_reader)
The installation instructions for each system are provided here.
SCOREC Rhel9
Required Modules and Libraries
module use /opt/scorec/spack/rhel9/v0201_4/lmod/linux-rhel9-x86_64/Core/
module load zlib/1.2.13-mvjz5oi gcc/12.3.0-iil3lno mpich/4.1.1-xpoyz4t cmake
module load simmetrix-simmodsuite/2025.1-250602dev-yv5oiom netcdf-c/4.9.2-2ilqxr3 netcdf-cxx4/4.3.1-7427fnc
module load simmetrix/simModeler/2025.0-250108-dev
module load adios2/2.9.0-nztsv7o
export LD_LIBRARY_PATH=/opt/scorec/spack/rhel9/v0201_4/install/linux-rhel9-x86_64/gcc-12.3.0/netcdf-c-4.9.2-2ilqxr3rpuva5xlwzkzeqitei4oybuba/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/scorec/spack/rhel9/v0201_4/install/linux-rhel9-x86_64/gcc-12.3.0/netcdf-cxx4-4.3.1-7427fncoukmgmapu2ylfyuhgnawm77og/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/scorec/spack/rhel9/v0201_4/install/linux-rhel9-x86_64/gcc-12.3.0/adios2-2.9.0-nztsv7oahftcta2dntesql2wkep6kdfp/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lore/riazu2/Tools/install/OmegaH/gcc12.3.0/lib64:$LD_LIBRARY_PATH
Compilation
- git clone https://github.com/SCOREC/STOMMS.git
- cd STOMMS
- Edit config-files/scorec_rhel9_config.sh as needed (at minimum need to change the PREFIX).
- Edit PREFIX in the scorec_rhel9_config.sh and set it to the location where you want to install executable/library.
- Set COMPILE_STOMMS_MESHGEN="ON" to compile stomms_meshgen and set COMPILE_STOMMS_READER="ON" to install reader
library. By default both are "ON" on SCOREC machines. Set "OFF" if they are not needed.
- mkdir build
- cd build
- ../config-files/scorec_rhel9_config.sh
- make install
PPPL Flux
STOMMS meshing executables stomms_meshgen and required modules env_stomms.sh can be found in the directory below. They are ogranized by date in the format YYYY_MM_DD.
/p/epsi/rpi/install/STOMMS/YYYY_MM_DD/bin/stomms_meshgen
/p/epsi/rpi/install/STOMMS/YYYY_MM_DD/modules/env_stomms.sh
For example, the latest one is:
/p/epsi/rpi/install/STOMMS/2026_04_28/bin/stomms_meshgen
/p/epsi/rpi/install/STOMMS/2026_04_28/modules/env_stomms.sh
To install stomms_meshgen, follow the instruction below.
Required Modules and Libraries
module use /opt/scorec/spack/rhel9/v0201_4/lmod/linux-rhel9-x86_64/Core/
module purge
module load gcc/13.2.0
module load openmpi/4.1.6-gcc-13.2.0
module load openmpi-4.1.6/gcc-13.2.0/netcdf-c/main-4adke
module load openmpi-4.1.6/gcc-13.2.0/netcdf-cxx4/4.3.1-k3f2t
module load simmodsuite/2026.0-260404
setenv LD_LIBRARY_PATH /p/epsi/rpi/install/OmegaH/2026_04_28/lib64:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH /p/xgc/Software/install/adios2/5.14.0-570.21.1.el9_6.x86_64/gcc-13.2.0/lib64:$LD_LIBRARY_PATH
setenv OMP_NUM_THREADS 1
Compilation
- git clone https://github.com/SCOREC/STOMMS.git
- cd STOMMS
- Edit config-files/pppl_flux_config.sh as needed (at minimum need to change the PREFIX).
- Edit PREFIX in the pppl_flux_config.sh and set it to the location where you want to install executable/library.
- Set COMPILE_STOMMS_MESHGEN="ON" to compile stomms_meshgen and set COMPILE_STOMMS_READER="ON" to install reader
library. By default both are "ON" on PPPL Flux. Set "OFF" if they are not needed.
- mkdir build
- cd build
- ../config-files/pppl_flux_config.sh
- make install
Perlmutter
Perlmutter is mainly used to run the analysis codes, therefore mesh generation libraries and Simmetrix Simmodsuite tools are not available at Perlmutter. Since Perlmuuter does not have Simmetrix libraries, stomms_meshgen is not supported and only stomms_reader can be compiled at Perlmutter.
ADD INSTRUCTIONS HERE LATER…
Execution
To run stomms_meshgen, make sure input file mesh_input is provided with a set of required input files. For details of the inputs files along with the set of the
input paramters, check Input Parameters.
/path_to_prefix/bin/stomms_meshgen
Testing
As STOMMS is under continuous development, we will keep adding new test cases as we move forward. To run the CMake Testing ctest,
follow these steps:
- set DENABLE_TESTING=ON in config files.
- In STOMMS/build, run ctest