Singularity
Singularity containers are provided for all NuWro releases (starting from 17.09).
The builds can be found in Singularity Hub.
Each container includes base OS, ROOT with PYTHIA6 and NuWro (in /opt/
folder).
For more information about Singularity please visit Singularity Used Guide.
Getting a container¶
One can easily get a Singularity container using singularity pull
:
$ singularity pull shub://NuWro/builds:[release tag]
where tag = YY.MM
(please make sure capitalization is correct - it is case sensitive), e.g.
$ singularity pull shub://NuWro/builds:17.09
Downloaded image (by default) has the following name:
[user]-[repo]-[branch]-[tag].simg
e.g.
NuWro-builds-master-17.09.simg
Information about software versions installed in a container is stored in its metadata. To check it use inspect
, e.g.
$ singularity inspect NuWro-builds-master-17.09.simg
{
"MAINTAINER": "tomasz.golan@gmail.com",
"NUWRO": "17.09",
"ROOT": "5.34/36",
"OS": "Ubuntu14.04",
...
}
Using a container¶
Any application can be executed from a container using exec
, e.g. to run NuWro with default parameters
$ singularity exec NuWro-builds-master-17.09.simg nuwro
Arguments can be passed as usual, e.g.
$ singularity exec NuWro-builds-master-17.09.simg nuwro -i my_params.txt -o my_output.root
In the same way one can run myroot
to analyse the output, e.g.
$ singularity exec NuWro-builds-master-17.09.simg myroot
Also, NuWro containers are set up to run NuWro, by default:
singularity run [img file]
or
./[img file]
are equivalent to singularity exec [img file] nuwro
, e.g.
./NuWro-builds-master-17.09.simg -p "beam_energy = 1234"
would run NuWro with all deafult parameters but neutrino energy (equal 1234 MeV).
Using ROOT5 container¶
One can also use the container with preinstalled ROOT 5 and PYTHIA6 to compile and use NuWro from local drive. To get the container:
$ singularity pull shub://NuWro/builds:root5
Start interactive shell:
$ singularity shell NuWro-builds-master-root5.simg
Go into NuWro folder (must be located somewhere in $HOME)
cd /home/user/my/path/to/nuwro
make
./bin/nuwro