# This tutorial helps you install Gyacomo on an SPC medusa PC, based on OpenSUSE and intel compiler. You will be guided from the cloning of the repository to the first run.
# This tutorial helps you install Gyacomo on an SPC medusa PC, based on OpenSUSE and intel compiler. You will be guided from the cloning of the repository to the first run.
# 1.4 - Finally, we make a `lib` directory (here we make it in `/gyacomo` but it can be anywhere as long as the path to it is set correctly in `gyacomo/local/dirs.inc`).
# 1.4 - Finally, we make a `lib` directory (here we make it in `/gyacomo` but it can be anywhere as long as the path to it is set correctly in `gyacomo/local/dirs.inc`).
echo-- make lib directory
echo" make lib directory"
mkdir lib
mkdir lib
# **Important:** Verify that the `gyacomo/local/dirs.inc` file points to your `gyacomo` folder in the `PREFIX` variable and to your `lib` folder in the `LIBDIR` variable.
# **Important:** Verify that the `gyacomo/local/dirs.inc` file points to your `gyacomo` folder in the `PREFIX` variable and to your `lib` folder in the `LIBDIR` variable.
...
@@ -39,11 +43,16 @@ mkdir lib
...
@@ -39,11 +43,16 @@ mkdir lib
# - FFTW3, the Fastest Fourier Transform in the West version 3, which enables us to compute the nonlinear term using a pseudo-spectral approach (see [fourier module](Sources/fourier)).
# - FFTW3, the Fastest Fourier Transform in the West version 3, which enables us to compute the nonlinear term using a pseudo-spectral approach (see [fourier module](Sources/fourier)).
# Each of these libraries must be installed in the `/lib` folder (here `/gyacomo/lib`).
# Each of these libraries must be installed in the `/lib` folder (here `/gyacomo/lib`).
# **Note:** if you do not have the access, contact me and I will provide a .zip file.
# **Note:** if you do not have the access, contact me and I will provide a .zip file.
# 2.2 - Then, we navigate to the `src` directory.
# 2.2 - Then, we navigate to the `src` directory.
...
@@ -54,7 +63,8 @@ sed -i '37s/.*/OPT = -O3/' Makefile
...
@@ -54,7 +63,8 @@ sed -i '37s/.*/OPT = -O3/' Makefile
# **Note:** the Makefile is also assuming that the Hdf5 library path is stored in a `$(HDF5)` variable and that the `mpif90` compiler is defined. If you are on Marconi HPCC, you may have to change line 34 to `F90 = mpiifort` and line 35 to `HDF5 = $(HDF5_HOME)` (having prealably loaded the Hdf5 module)
# **Note:** the Makefile is also assuming that the Hdf5 library path is stored in a `$(HDF5)` variable and that the `mpif90` compiler is defined. If you are on Marconi HPCC, you may have to change line 34 to `F90 = mpiifort` and line 35 to `HDF5 = $(HDF5_HOME)` (having prealably loaded the Hdf5 module)
# 2.4 - We can now compile the library.
# 2.4 - We can now compile the library.
make lib
echo" make library.."
make lib &> futils_make_lib.out
# 2.5 - We create necessary directories to store our library files.
# 2.5 - We create necessary directories to store our library files.
mkdir-p include/O
mkdir-p include/O
...
@@ -63,57 +73,64 @@ mkdir -p lib/O
...
@@ -63,57 +73,64 @@ mkdir -p lib/O
mkdir-p lib/g
mkdir-p lib/g
# 2.6 - Time now to install the library (this will put the library files in the previously made directories).
# 2.6 - Time now to install the library (this will put the library files in the previously made directories).
echo-- compiling...
echo" compiling.."
make install> futils_make_install.out
make install&> futils_make_install.out
# 2.7 - We can test now the installation and linkage of futils by typing `make` in `/gyacomo`. The compilation should pass the previously observed error and halt now with an error at the call of `fftw` routines in `src.fourier_mod.F90`.
# 2.7 - We can test now the installation and linkage of futils by typing `make` in `/gyacomo`. The compilation should pass the previously observed error and halt now with an error at the call of `fftw` routines in `src.fourier_mod.F90`.
# 3.5 - We gather the library files in a new `lib` subdirectory.
# 3.5 - We gather the library files in a new `lib` subdirectory.
mkdir lib
mkdir lib
cp lib64/* lib/.
cp-rlib64/* lib/.
cp*.la lib/.
cp-r*.la lib/.
# 3.7 - We go back to `/gyacomo` and verify that `FFTW3DIR = $(LIBDIR)/fftw-3.3.10` in `/gyacomo/local/dirs.inc` when `ENVTYPE = Linux`.
# 3.7 - We go back to `/gyacomo` and verify that `FFTW3DIR = $(LIBDIR)/fftw-3.3.10` in `/gyacomo/local/dirs.inc` when `ENVTYPE = Linux`.
cd ../
cd ../
# 3.8 - We test the installation and linkage by typing `make` in `/gyacomo`. The compilation should halt with an error at the call of `FM` routines in the `src/coeff_mod.F90` file.
# 3.8 - We test the installation and linkage by typing `make` in `/gyacomo`. The compilation should halt with an error at the call of `FM` routines in the `src/coeff_mod.F90` file.