                     =============================
                     INSTALLATION GUIDE OF SCADOPT
                     =============================


PREREQUISITES - WHICH SOFTWARE WILL BE NEEDED FOR USING SCADOPT?
================================================================
Minimum Requirements:
---------------------
* C++ compiler supporting C++11 (like GCC >= 4.7.0)
* ScaFES
* Boost C++ libraries
* MPI implementation (like Open MPI)
* bash >= 3.0

Maximum Requirements:
---------------------
* Software required in 'Minimum Requirements'
* C++ compiler additionally supporting OpenMP >= 3.1 (like GCC >= 4.7.0)
* ADOL-C
* LBFGS-B
* NetCDF


HOW TO INSTALL SCADOPT?
=======================
The build and installation process is based on the GNU autotools.
Thus, building and installing this software means combining configure and make.

1) The software can be configured for the underlying system by calling
    the usual configure script:

       ./configure

   The following options can be set:
      
       --enable-doc          Enables generating the documentation [default=no].
       --enable-openmp       Enables OpenMP support. [default=no].
       --enable-adolc        Enables ADOL-C support. [default=yes].
       --enable-lbfgsb       Enables LBFGS-B support. [default=yes].

       --with-mpi            Sets the base directory of OpenMPI [default=/usr].
       --with-boost          Sets the base directory of Boost [default=/usr].
       --with-adolc          Sets the base directory of ADOL-C [default=/usr].
       --with-lbfgsb         Sets the base directory of LBFGS-B [default=/usr].

   Compiler and compiler options can be set via the environment variables
   CXX and CXXFLAGS. Thus, an example call would look as follows:

       CXX=g++  CXXFLAGS='-O3 -Wall' \
       ./configure --enable-openmp --with-boost=/opt/boost

2) System tests can be compiled in order to check the correctness of the build.
   Again, one can use the make option '-j' if more than one core is available.

       make check

   The system tests can be setup and executed via the bash script located in
   the corresponding directories, e.g.:

       cd tests/system/OptimHeatEqnFDM1D_para
       ./SETUP_AND_RUN.sh

3) If everything went fine, the software can be installed.
   Please make sure that the installation directory is writable.
   This can be either ensured by executing the following command as
   super user (su) or by using the configure option '--prefix=<installdir>'
   with a writable directory <installdir>.

       make install

