...
Current UDA does not dynamically search for plugins, i.e. it does not try and load every shared library in a directory. To load a plugin, it reads the plugin library name from a text file. “Registering” a plugin just means adding this plugin to that text file. (I plan to change this to remove the need for the text file at some point).
Only the plugin library name is in the text file though. To be able to load the plugin, the directory needs to be added to the LD_LIBRARY_PATH. Therefore, a module is needed.
UDA
Version 2.7.3
Installation
Prepare environment:
Code Block |
---|
module load IMAS/3.39.0/AL/5.0.0/gcc/7.3.0
module load itm-gcc/7.3.0
module load xmllib/3.3.1/gcc/7.3.0
module load itm-hdf5/1.12.2/gcc/7.3.0
module load cmake/3.5.2
module load capnproto/0.10.4
module load fmt/10.0.0
module load spdlog/1.11.0
module load itm-python/3.10
setenv BOOST_DIR /gw/switm/boost/1.80.0/gcc/7.3.0
setenv UDA_HOME /gw/swimas/extra/uda/2.7.3/gcc/7.3.0 |
Tip | ||
---|---|---|
install latest version of cmake if needed:
|
Get latest version of UDA:
Code Block |
---|
git clone https://github.com/ukaea/UDA
git checkout 2.7.3 |
Then configure and install library:
Code Block |
---|
cmake \
-Bbuild -H. \
-DCMAKE_INSTALL_PREFIX=${UDA_HOME} \
-DMAKE_INSTALL_PREFIX=${UDA_HOME} \
-DBUILD_SHARED_LIBS=ON \
-DENABLE_CAPNP=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DUDA_PORT=56565 \
-DUDA_HOST=localhost \
-DUSER=root \
-DBOOST_ROOT=${BOOST_DIR}
make -C build -j 4
make -C build -j 4 install
cd ${UDA_HOME}/python_installer
python3 setup.py install --prefix=${UDA_HOME}/python |
Tip |
---|
Modulefile is also installed, and is located at $UDA_HOME/modulefiles |
Version 2.5.1
Dependencies
DD & AL dependency
UDA is completely DD & AL independent.
...
module load cmake/3.5.2
module load itm-boost/1.78.0/gcc/4.8
Installation
Please check installation IMAS eco-system installation scripts:
...
module load itm-boost/1.78.0/gcc/4.8
module load uda/2.5.0/gcc/7.3.0
Installation
- Cloning repository
- git clone ssh://git@git.iter.org/imas/uda-plugins.git
- cd uda-plugins
- git checkout tags/<tag numer>
- Building
- env UDA_INSTALL=/gw/swimas/extra/uda/plugins/1.2.0/AL/4.9.2/gcc/7.3.0 ./scripts/cmake-itm-marconi.sh
- make -C build
...
Warning | ||
---|---|---|
You also need to add one line of code to the /afs/gw/swimas/extra/uda/plugins/1.2.1/gcc/7.3.0/etc/plugins/udaPlugins.conf file if the installer doesn't add it automatically
|
Simple test case
Below is a simple example for testing uda and uda-plugins
Code Block |
---|
module purge module load cineca module unload gnu module load gnu/7.3.0 module load itm-openmpi/4.0.4--gnu--7.3.0 module load imasenv/3.33.0/gcc module load libssh module load cmake/3.5.2 module unload uda module load uda/2.5.1/gcc/7.3.0 module load itm-boost/1.61.0--gnu--7.3.0 module load uda-plugins/1.2.1 setenv JET_MDSPLUS_USERNAME sdixon python3 import imas jet = imas.ids(86400,0) jet.open_public('JET') jet.magnetics.get() jet.magnetics.flux_loop[0].flux.data |