imasenv/3.23.1

This page describes changes introduced by imasenv/3.23.1

1. Table of Contents

imasenv module layout

We would like to remind you that, starting from version imasenv/3.21.0,  the layout of the module imasenv has been changed. The change was introduced  to fulfil WPCD request relating to possibility of loading libraries compiled either by Intel OR GNU compiler (the previous versions of module loaded mixed set of libraries).

Currently, to setup IMAS environment, two meta modules have to be loaded:

  • module load wpcdenv/<compiler name> (intel/gcc) to load DD independent libraries
  • module load imasenv/<DD_version>

This setup could be simplified by calling only “module load imasenv” that transparently loads wpcdenv/intel and imasenv/3.23.1/ual/4.0.4

Detailed information (including more advanced settings) can be found on the following page:

https://confluence.man.poznan.pl/community/display/WFMS/IMAS%3A+Setting+working+environment

2. IMAS UAL module

UAL module name has been changed to capital letters (IMAS/<dd_ver>/AL/<engine_version>) to underline the difference between "old" and "new" AL (see UAL section below).

3. UAL

The Access-Layer (AL, version 4, sometimes referred to as the "new lowlevel") used in the new imasenv default (and since imasenv/3.21.1) was deeply modified (previous AL was in version 3).

While the end-user API is mostly unchanged (the first objective of this re-structuring was to obtain a more flexible, extensible and maintainable code-base), users should be aware of two important differences:

  • a few deprecated functions were removed at the occasion (open/create using default machine, put_non_timed)

  • and the MDSplus backend and structure of the pulsefile were modified in order to alleviate some of the restrictions in AL3 (due to these restrictions, DD >= 3.21.1 can't be used with AL3).

This means that the pulsefile written by AL3 can't be read with AL4 and vice versa. While a pulsefile conversion script (from AL3 to AL4) is provided, it might fail in case of pulsefile written by buggy version of AL3, ill-formed IDS, or remaining bug in the conversion script itself, so you should use this conversion only when strictly necessary.

We also advise users to keep different databases (created by imasdb <machine_name>) for AL3 and AL4 pulsefiles (for instance by renaming existing "machine" into either "machine_AL3" or by using upper case "MACHINE" for new AL4 as currently done by ETS team).

More details on API changes and how to use the conversion script can be found at the following page: https://confluence.man.poznan.pl/community/display/WFMS/Access+Layer%3A+from+version+3+to+version+4

4. Kepler

There is a new release of Kepler: 2.5p4-3.0.1 and Keplertools: 1.8.1 It is automatically loaded together with imasenv/3.23.1.

This release of Kepler addresses the issues related to installing and switching between different Kepler versions. It also provides support for New Low Level based workflows. All the actors (UAL based) were adapted to New Low Level.

Since version 2.5p4-3.0.1 it is no longer required to call "imasdb" before running Kepler. As a result, there are no references to "TOKAMAKNAME" environment variable. If actors require machine name (e.g. UALInit) it must be provided explicitly. In case this value is missing, workflow will not even start execution.

You can read more about installation of new version of Kepler at following page: IMAS Kepler - 2.5p4-3.0.1

 

5. Summary

5.1. Installation instructions

This section describes the steps to configure environment and to install/load kepler starting from the clean stage (you open new terminal)

 

# just to make sure the environment is clean...
> module purge
> module load cineca
 
# actual installation
> module load imasenv
> kepler_install <your_kepler_name>        # for example: kepler_install my_kepler_2.5p4
> kepler_load <your_kepler_name>           # for example: kepler_load my_kepler_2.5p4


Notes:

  • this will load default imasenv (that is 3.23.1/ual/4.0.4 at the moment)
  • loading wpcd module is optional in this case and default version of this module will be loaded automatically
  • default environment module is based on intel compiler 
  • <your name> in kepler_install and kepler_load commands is the name of the local version of kepler you want to have (to check which versions are installed currently do kepler_avail and <your name> should appear)

 

  • No labels