This is the repository for ITER related UDA plugins. For the core UDA repository see https://github.com/ukaea/uda.
This plugin repository uses CMake to configure which plugins to build and locate the dependencies need to build the plugins. This makes use of the "plugin" macro imported from the cmake/plugins.cmake file.
By default, it will attempt to build every plugin it can – i.e. every plugin for which the dependencies can be located. If a plugin is not being built then a warning will be printed to the terminal when CMake is run specifying which dependency cannot be found.
In order to run CMake to configure the build you need to run:
cmake3 -Bbuild -H. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$UDA_HOME
This will create a directory called "build" that contains all the GNU makefiles required to build the plugins.
If you wish to only build specific plugins you can use the "-DBUILD_PLUGINS" CMake option to specify the plugins you'd like to build as a semicolon separated list, for example the following will only attempt to configure the exp2imas and imas_mapping plugins:
cmake -Bbuild -H. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$UDA_HOME -DBUILD_PLUGINS="exp2imas;imas_mapping"
Once the plugin build has be configured using CMake you can build the code using:
cd build
make
And then install the plugins into the directory specified by the "CMAKE_INSTALL_PREFIX" CMake argument:
make install
Once the plugins have been built and installed they need to be activated in the UDA server. As part of the CMake
configuration step a script is generated to activate all built plugins. This script can be found in the build/scripts
directory as is called activate-plugins.sh
.
This script loops over all the built plugins calling the UDA helper program install_plugin
for each plugin. This call
looks like:
$UDA_HOME/bin/install_plugin -u $PLUGINS_HOME install $PLUGIN
Where $PLUGINS_HOME
is the location the plugins where installed to and $PLUGIN
is the name of the plugin.
A description of the plugins included in this repository is given below:
Name | Description | Dependencies | Notes |
---|---|---|---|
exp2imas |
Uses the EXP2ITM mappings to return data from experimental data sources. | MDSplus, LibSSH | |
hl2a |
Uses the WEST HL2A data access library to return data to IMAS. | MDSplus, LibHL2A | |
imas | Handles requests from UDA backend for IMAS AL5 for either remote data or mapped experimental data | IMAS-Core | New for AL 5 |
imas_forward |
Forwards IMAS related requests to another UDA server. | IMAS Access-Layer | For AL 4 |
imas_mapping |
Forwards IMAS low-level data requests to plugin determined by machine name. | IMAS Access-Layer | For AL 4 |
imas_partial |
Uses data dictionary to expand partial IMAS data request and return data for expanded tree. | MDSplus, IMAS | For AL 4 |
imas_remote |
Handles IMAS low-level data requests using IMAS low-level library to allow for IMAS remote data access. | IMAS | For AL 4 |
imas_uda |
Converts IMAS data access request to call to signal/source requests from another UDA server. | For AL 4 | |
jet_equilibrium |
Has a special case handling for JET equilibrium profiles_1d mapping, otherwise forwards requests to EXP2IMAS plugin. | ||
jet_magnetics |
Proof of concept plugin for returning JET magnetics machine description from JET sensors file. | ||
jet_summary |
Plugin for populating the summary IDS for JET. | MDSplus | |
tcv |
Plugin for forwarding signal requests to TCV MDS+ server. | MDSplus | |
tcvm |
Plugin which uses Matlab scripts to map TCV data for response to IMAS data access requests. | Matlab | |
west |
Maps IDS data requests to MDS+ signal requests for WEST experiment. | MDSplus, LibTS |