Versions Compared

Key

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

Table of Contents

Simplification of wpcdenv/imasenv schema

Current solution

The initial request was to enable users to set-up working environment easily providing possibility of choosing:

  • compiler (and its version)
  • DataDictionary version
  • Access Layer version
  • a versions of other of libraries used by WPCD developers

As a result of discussions two steps (wpcdenv/imasenv) schema was introduced, to provide a freedom of choice and  not to make module name too complicated (like imasenv/3.24.0/intel/18.0/ual/4.1.5/wpcdenv/4.0)

  • wpcdenv (e.g. wpcdenv/intel/18.0/1.1) sets compiler, its versions and loads all DD/IMAS independent libraries (e.g. blitz, lapack, xmllib)
  • imasenv (e.g. imasenv/3.24.0/ual/4.1.5/1.1) sets IMAS for given DD version and loads all DD/IMAS dependent libraries  (e.g. ggd, amns)

Lesson learned

After one year I decided to evaluate wpcdenv/imasenv scenario. Outcome of evaluation:

  • in most cases users specify only "module load imasenv"  or "module load imasenv/<dd-ver> "
  • users usually don't take into account AL version and other libs version... and use defaults 
  • there is a need to couple imasenv with particular wpcdenv version:
    • currently imasenv loads default wpcdenv
    • all imasenv libraries can be not compatible with other wpcdenv version as being used during compilation
    • loading manually wpcdenv by user and than imasenv can result in inconsistent environment 



Lifecycle

Info

Defaults

Please note that module system allows to provide defaults on every level of module structure. So, taking imasenv as an example there is :

  • default DD for module imasenv  
  • default UAL for module imasenv/<DD_ver> 
  • default set of submodules for module imasenv/<DD_ver>/ual/<UAL_ver> 
  • etc, etc

"WPCD products"

ETS workflow is the most complex product being developed by WPCD, however WPCD activity is not limited to ETS development, so this document will refer to "WPCD products" keeping in mind that in most cases it is synonym of "ERTS workflow"

...

Tagged version

  • Tagged version of module, used by some tagged version(s) of  CD product(s)
  • Must be well tested  and stable 
  • This version is intended to use mainly by users , to provide them stable environment for running  CD product(s) 
  • The chosen tagged version (in most cases the latest one) is set as default  one

...