Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

How to install split IMAS

...

  using EasyBuild

This tutorial shows how to install IMAS (after repository split) using EasyBuild. The installation in this tutorial will be performed on the Gateway cluster but it can be done anywhere.

Install EasyBuild

You should install EasyBuild using Python and venv (virtual environment).Install Easybuild in $HOME

Code Block
languagebash
titleInstall EasyBuild using Python
module load itm-python/3.10.13
python3 -m venv venv
module purge
source venv/bin/activate
pip3 install easybuild

You can use a different version of Python

...

. Remember to purge all unnecessary modules that can cause conflicts with new modules created by EasyBuild.

ConfiguringEasyBuild

The configuration is located in the file $HOME/.config/easybuild/config.cfg. Set the prefix path to the directory where the installation should be performedCreate this file if it doesn't exist.

Code Block
title$HOME/.config/easybuild/config.cfg
[config]
prefix=/pfs/work/g2pbloch/imasenv_eb
modules-tool=EnvironmentModulesC
module-syntax=Tcl
[override]
insecure-download=True

...

Create a secret.txt  file in $HOME/.config/easybuild/ and paste the HTTPS ACCESS TOKEN  into ITER  repo (https://git.iter.org).

Code Block
languagetext
titlesecret.txt
Authorization: Bearer <token>

Downloading configuration (EB) files

Clone the repository and  these repositories and  specify the paths to them in the --robot  optionin the next step.  

Code Block
languagetext
titleclone repo
https://gitlab.eufus.psnc.pl/g2pbloch/easybuild-files 
https://gitlab.eufus.psnc.pl/g2pbloch/easybuild-imas-files 

...

Installation of Data Dictionary (DD)

start Run the IMAS installation (in `the easybuild-imas-files`files directory):

Code Block
languagebash
titleIMAS install
eb Data-Dictionary/Data-Dictionary-3.40.1-GCCcore-10.2.0.eb --allow-modules-tool-mismatch --robot=/pfs/work/g2pbloch/test_instruction/easybuild-imas-files:/pfs/work/g2pbloch/test_instruction/eb_files_repo  --http-header-fields-urlpat="^https://git.iter.org::$HOME/.config/easybuild/secret.txt"

...

Remember to change the --robot and pass paths to your easybuild-files  and easybuild-imas-files  directories. 

Configuring paths in IMAS configuration (EB) files

After DD installation change path in this line in the HLI easyconfigs to your  {prefix}/software/Data-Dictionary/3.40.1-GCCcore-10.2.0/dd_3.40.1/

Code Block
languagepy
titleDD path
 preconfigopts = 'export IMAS_VERSION="0.0.0" &&  export IMAS_PREFIX="/pfs/work/g2pbloch/test_instruction/software/Data-Dictionary/3.40.1-GCCcore-10.2.0/dd_3.40.1/" &&' 

In python Python configuration files IMAS-AL-Python, IMAS-AL-Python-Bindings  you have to change path  to python to $prefix/software/Python/3.8.6-GCCcore-10.2.0/ 

...

Installation of IMAS HLIs

Code Block
languagebash
titleIMAS
eb IMAS-AL-Cpp/IMAS-AL-Cpp-5.2.0dev-foss-2020b-DD-3.40.1.eb --allow-modules-tool-mismatch --robot=/pfs/work/g2pbloch/test_instruction/easybuild-imas-files:/pfs/work/g2pbloch/test_instruction/eb_files_repo --http-header-fields-urlpat="^https://git.iter.org::$HOME/.config/easybuild/secret.txt"
eb IMAS-AL-Fortran/IMAS-AL-Fortran-5.2.0dev-foss-2020b-DD-3.40.1.eb  --allow-modules-tool-mismatch --robot=/pfs/work/g2pbloch/test_instruction/easybuild-imas-files:/pfs/work/g2pbloch/test_instruction/eb_files_repo --http-header-fields-urlpat="^https://git.iter.org::$HOME/.config/easybuild/secret.txt" 
eb IMAS-AL-Java/IMAS-AL-Java-5.2.0dev-foss-2020b-Java-11-DD-3.40.1.eb  --allow-modules-tool-mismatch --robot=/pfs/work/g2pbloch/test_instruction/easybuild-imas-files:/pfs/work/g2pbloch/test_instruction/eb_files_repo --http-header-fields-urlpat="^https://git.iter.org::$HOME/.config/easybuild/secret.txt"   
eb IMAS-AL-Python/IMAS-AL-Python-5.2.0dev-foss-2020b-DD-3.40.1.eb  --allow-modules-tool-mismatch --robot=/pfs/work/g2pbloch/test_instruction/easybuild-imas-files:/pfs/work/g2pbloch/test_instruction/eb_files_repo --http-header-fields-urlpat="^https://git.iter.org::$HOME/.config/easybuild/secret.txt"  

Remember to change the --robot and pass paths to your easybuild-files  and easybuild-imas-files  directories. 

How to use IMAS

After installtion installation you can load IMAS  modules i.e:

Code Block
languagebash
titleLoad module
module use {prefix}/modules/all
module load IMAS-AL-Cpp/5.2.0dev-foss-2020b-DD-3.40.1
module load IMAS-AL-Fortran/5.2.0dev-foss-2020b-DD-3.40.1
module load IMAS-AL-Java/5.2.0dev-foss-2020b-Java-11-DD-3.40.1
module load IMAS-AL-Python/5.2.0dev-foss-2020b-DD-3.40.1

How it works

...

  • eb - EasyBuild
  • IMAS-AL-Cpp/IMAS-AL-Cpp-5.2.0dev-foss-2020b-DD-3.40.1.eb - path to EasyBuild configuration file

  • --allow-modules-tool-mismatch - flag
  • --robot - paths to configuration files
  • --http-header-fields-urlpat - secret to downloading files from ITER repo

...

Useful tips

  • If you have compilation problems try adding the --parallel=1  option