This document provides a short description of proposed solution. For a more detailed analysis look >>HERE<<
1. Objectives
2. Setting up IMAS environment
2.1. Module imaslibs
Module imaslibs
imaslibs/<compiler_vendor>/<compiler_version>/<version of this module> e.g. imaslibs[/intel/17.0/1.0] <= part in brackets can be skipped to use defaults
Module will load:
- Compiler
(e.g. intel/17.0
) - All components independent from IMAS/Data Dictionary (group B) , gathered together as a set of modules. Such set of modules will have its own version (e.g.
1.0
)
2.2. Module imasenv
Module imasenv
imasenv/<imas_ver>/ual/<engine_ver>/<version of this module> e.g. imasenv[/3.19.1/ual/3.8.2/1.0] <= part in brackets can be skipped to use defaults
Module will load:
- imas module
(e.g.
imasenv[/3.19.1/ual/3.8.2 ) - All components dependent on IMAS/Data Dictionary (group D), gathered together as a set of modules. Such set of modules will have its own version (e.g.
1.0
)
Presented solution:
- Easy to use by users (to use default versions is enough to write
module load imaslibs
;module load imasenv)
- Flexible: Full names can be specified to use non-default versions of library sets
Using default versions
The end ("tail") of module name can be skipped to use default versions, so:
module load imaslibs/intel/17.0/1.0
is equal tomodule load imaslibs/intel/17.0 (assuming 1.0 as default version of set of libs)
module load imaslibs/intel (assuming
intel/17.0/ as default version of compiler)
module load imaslibs (assuming intel as default compiler)
module load imasenv/3.19.1/ual/3.8.2/1.0
is equal to- module load
imasenv/3.19.1/ual/3.8.2
(assuming 1.0 as default version of set of IMAS libs) - module load
imasenv/3.19.1
(assuming 3.8.2 as default version of UAL) - module load
imasenv
(assuming 3.19.1 as default version of Data Dictionary)
- module load
3.
RC version to be tested
To test a new layout of modules, one need to use
modules from ~g2bpalak/public/imasmod/
Setting up a test version of new module mechanism
~>module use ~g2bpalak/public/imasmod/
Checking if new modules were loaded correctly
~>module av imas -------------------- /afs/eufus.eu/user/g/g2bpalak/public/imasmod/ ------------- imasenv/3.19.1/ual/3.8.2/1.0 imasenv/3.20.0/ual/3.8.2/1.0 imaslibs/gnu/6.1.0/1.0 imaslibs/intel/17.0/1.0