Versions Compared

Key

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


Info
titleAn access to iWrap User Manual

iWrap User Manual can be accessed in two ways:

  1. Once iwrap  module is loaded, iwrap-doc script can be run from the command line. It opens documentation in a browser
  2. Following >>LINK<< can be used (requires ITER account)

Motivations

Complex simulations often combines a number of physics codes, potentially provided by various actors and written in different programming languages. To make them working together, an additional layer, that takes care on execution of particular codes, and passing data is needed

Sometimes the functionality of such layer is provided by dedicated software (aka 'workflow orchestrators, like Kepler https://kepler-project.org/), sometimes it can be handled by much simpler mechanism like Python scripts.

Scientific, simulation codes that performs computing intensive calculations in most cases (due to performance reasons) are written in C++ or Fortran. 

iWrap is a modular component generator, implemented in Python, used for creating IMAS actors from physics models. This mechanism allows to integrate physics codes written in one language (Fortran, CPP) within complex computing scenarios designed in other language (e.g. Python).

It's plug-in based modular design with clear separation of concerns allows to generate various types of actors and easily change data access paradigm (from dataset descriptor for AL to direct HDC data for instance)

For user conveniency it provides two kinds of interfaces: user friendly graphical interface that allows non-experienced users to define an actor in intuitive way and command line interface foreseen for more advanced users that may want to e.g. automatise actor generation process using scripts.

3.3.2. how to prepare user code{toc}

A signature of user code must follow strict rules to allow interaction between it and wrapping actor.  Please use following >>link<< to get detailed guidelines for persons integrating their code into workflows using iWrap  

3.3.3. wrapping (job description, iWrap)

...