Description of the software and libraries used in YaDICs

YaDICs is built using a linux operating system. We have chosen to use standard libraries so that the user can compile it once the dependencies are satisfied.

The library used  herein for image manipulation is CIMG, but we have embedded a dedicated version which is provided with the archive and git repository.

The system used for building a makefile is cmake.

YaDICs uses is highly parallel. The parallelisation is done using OpemMP. Several methods are included in YaDICs as explained in the documentation section.  The local inter-correlation method can be made directly or in the Fourier space, that's why FFTW3 is needed.

Lapack is used to solve the Gauss-Newton gradient descent.

NetCDF is used to store the results and the parameters files


Compilation procedure

This section covers the compilation of YaDICs. We don't provide an executable file as there are a lot of standard libraries involved in YaDICs. We think that the best way to proceed is to install these libraries on a given linux distribution and compile the software once it's done.

On debian-like system all the dependencies are satisfied by installing the following software using apt :

sudo apt-get install build-essential cmake gcc-4.9-base gfortran imagemagick ipython lib64gomp1 libatlas3-base libatlas-dev liblapack-dev libc6 libc6-amd64 libfftw3-dev libgcc1 libgraphicsmagick++1-dev libnetcdf-dev libnetcdf-c++4 libnetcdf-c++4-dev libnetcdf-cxx-legacy-dev libtiff5-dev ncview netcdf-bin python-matplotlib python-netcdf4 python-numpy python-scipy dvipng texlive-full ghostscript ghostscript

Once you've downloaded the Code you have to copy the following command lines in a shell:

cd ~/YaDICs_Project/YaDICs_V04.14.a/build/
cmake ../

The YaDICs executable is created, then let's compile the parameter file and launch the executable as follows:

ncgen3 -o ~/ ~/parameter.h 
~/YaDICs_Project/YaDICs_V04.14.a/build/YaDICs -h ~/ -o path-of-output-results -v (if verbose mode is required)