QPMS
Electromagnetic multiple scattering library and toolkit.
|
Running anything in a cluster environment can cause some unexpected problems. With these notes, one should be able to run qpms successfully on Aalto's Triton.
The main problem is that it is often not completely trivial to ensure the mutual compatibility of various libraries and tools on which qpms depends.
This section shows how to use qpms in an anaconda virtual environment. First, we purge the modules to ensure that no other other conflicting python instances are loaded. Then we load an anaconda3 module.
Next, conda needs to infect our shell with some code in order to work properly. (If you use a different shell than bash, modify the following command accordingly.)
This adds several lines to ~/.bashrc
(or elsewhere, depending on the shell). Then we might be required to restart the shell.
Next, we create and activate a virtual environment to be used with qpms. It will be called trqpms
throughout this document. We will also need to have cython
installed before even trying to install qpms.
Moreover, we need to load the GCC and gsl modules. GCC has to be loaded after loading anaconda3 and activating the conda virtual environment, otherwise anaconda will try to use its own (likely broken) compiler when installing qpms. And we also need cmake for building amos. Lastly, we save the list of loaded modules for later use as qpms_conda
.
From now on, we need to be in the qpms source root directory.
Now it's time to build amos
. First, we clean all the files previously created by cmake
(if needed). This is to ensure that cmake
uses the same gfortran
that is in the current PATH
; otherwise, cmake
might use some Fortran compiler detected earlier (cmake
apparently does not update that information) and that might later cause mismatch between libgfortran versions.
Cmake builds in other directories are not supported right now, as qpms setup scripts now expects certain amos files at fixed relative paths. Therefore the .
in cmake .
.
And finaly, build qpms.
At this point, qpms should be installed successfully. If not, this document needs updates.
After installing the qpms python module, one should be able to import it and to use the scripts in the misc directory in the same shell session used for installing qpms.
To use qpms also later, one has to restore the environment, i.e. load the same modules and activate the anaconda virtual environment.