• This page describes releasing IMAS AL and IMAS libs when new DD version (x.y.z)  occurs
  • There is no one script / mechanism that could be used to install the whole "ecosystem"
  • Some scripts, used for installation of libraries has been developed, however they are not "full automatic" and still requires many improvements/development (to be changed to Makefiles??)

1. IMAS AL

Release new version of IMAS AL (described on other pages)


2. imasenv/x.y.z

  1. Check, in which dir imasenv  modules are stored

    ~>module show imasenv
    -------------------------------------------------------------------
    /path/to/imasenv/a.b.c/:
  2. cd  /path/to/imasenv/ 
  3. cp -r a.b.c x.y.z-alpha
    1.  Assumption: a.b.c is (so far) the latest version of imasenv
    2. Version x.y.z will be (until all libraries will be ready) marked as -alpha to warn the users that it is "under construction"
  4. cd x.y.z-alpha 
  5. Contents of x.y.z-alpha dir: 

    x.y.z-alpha>ls -la
    drwxr-xr-x  gcc
    drwxr-xr-x  intel
    lrwxr-xr-x  rc -> intel/17.0/rc		# link to default module imasenv/x.y.z/rc
    -rw-r--r--  .version				# definition of default compiler of imasenv/x.y.z
    x.y.z-alpha>cat .version
    #%Module######################################################################
    # Default version
    set ModulesVersion  intel
  6. Updating of imasenv module content
    1. all files x.y.z-alpha/<compiler>/<version>/rc (e.g. 3.26.0-alpha/gcc/7.3.0/rc) needs to be updated (rc is always the first published version, tagged on user demand)}}

    2. open these file using any editor
    3. updating IMAS AL versions 

      set imas_version x.y.z
      set al_version   a.b.c  
    4. Update all "submodules" versions (if needed/requested)
  7. imasenv  module is updated, but when loading, it reports several errors - no lib compiled for new DD versions are available - to compile them - see next point


3. Updating of IMAS libraries

3.1. DD dependent vs independent libraries

  1. There are two kinds of IMAS libraries:
    1. DD independent: BLAS, LAPACK, INTERPOS, XMLLIB . 
    2. DD dependent: GGD, LIBBDS, AMNS
  2. BLAS/LAPACK have to be installed only if there are no system-wide ones available 
  3. DD independent libraries don't have to be re-installed after DD update but only if users requests a new version
  4. DD dependent libraries needs to be re-installed after every DD update/change


3.2. Installation scripts

  1. Fetching scripts
    1. git clone https://<GW user login>@gforge-next.eufus.eu/git/imasscripts

    2. Content of the cloned repo (branch master)

      imasscripts>ls -la
      drwxr-xr-x  2 g2bpalak g2itmdev 4096 Jan 24 11:39 amns
      drwxr-xr-x  3 g2bpalak g2itmdev 4096 Jan 24 11:40 blas
      drwxr-xr-x  2 g2bpalak g2itmdev 4096 Jan 24 11:43 ggd
      drwxr-xr-x  2 g2bpalak g2itmdev 4096 Jan 24 11:39 interpos
      drwxr-xr-x  3 g2bpalak g2itmdev 4096 Jan 24 11:40 lapack
      drwxr-xr-x  2 g2bpalak g2itmdev 4096 Jan 24 11:43 libbds
      drwxr-xr-x  2 g2bpalak g2itmdev 4096 Jan 24 11:43 xmllib
  2. Script structure 
#!/bin/sh

#REPO
GIT_REPO="ssh://git@git.iter.org/imex/amns.git"

#VERSION/TAG
AMNS_VERSION="1.3.0"

#setting installation dir
export INSTALL_DIR=$IMAS_HOME/extra/amns/$AMNS_VERSION/$IMASENV_COMP_VENDOR/$IMASENV_COMP_VERSION/imas/$IMAS_VERSION

#FETCHing sources from GIT/SVN
....

#CLEANING (in case of any left overs)
......

# CONFIGURING (if using autotools)
....

#COMPILATION AND INSTALLATION

3.3. Library compilation/installation.

  1. Set compiler:
    1. module load imasenv/x.y.z-alpha/<compiler vendor>/<compiler version> e.g.  imasenv/3.26.0-alpha/intel/17.0 
    2. pls ignore all errors related to libraries that are not compiled yet
  2. Set a proper version/tag 
    1. Check which version of given lib is the latest one
    2. edit build.sh  to set <LIBRARY>_VERSION="a.b.c"  (e.g AMNS_VERSION="1.3.0") 

  3. run ./build.sh 
  4. Usually after installation there are still few manual steps required (to be automatised in future) - see next point

4. IMASViz

TBD


5. THE END

Renaming imasenv/x.y.z-alpha to imasenv/x.y.z


mv /path/to/imasenv/x.y.z-alpha /path/to/imasenv/x.y.z



Acknowledgement

This work has been carried out within the framework of the EUROfusion Consortium and has received funding from the Euratom research and training programme 2014-2018 under grant agreement No 633053.The scientific work is published for the realization of the international project co-financed by Polish Ministry of Science and Higher Education in 2019 and 2020 from financial resources of the program entitled "PMW"; Agreement No. 5040/H2020/Euratom/2019/2 and 5142/H2020-Euratom/2020/2”.












  • No labels