About ERO2.0

Test test test.

Code API

Click here to go visit the ERO2.0 API documentation.

Download

Similar to ERO1.0, the ERO2.0 source code is managed by the Git versioning system. The repository is located HERE. You will need to request a username and password.

Installation

Test test test.

Preparations

ERO2.0 depends on the HDF5 C++ library and the Boost C++ libraries, so you will have to install these. Next, if you plan to use ERO2.0 with MPI parallelization, you will also need an MPI2 installation (MPICH or Open MPI). Also, it is highly recommended to install CMake and Git.

If you plan to build and run ERO2.0 on a Linux cluster/supercomputer, there are good chances these prerequisites are already fulfilled. If the cluster uses module environments, as e.g. JURECA, you will need to run something like
module load HDF5
module load Boost
module load CMake
but the exact module names can differ (module avail, module list or module spider < package name> may be helpful). In the following subsections you will find instructions on how to install Git, CMake, HDF5, Boost and MPI (on Windows with VisualStudio 2013+ or Linux Ubuntu).

Windows (VisualStudio 2013+)

This part is under construction, sorry...

Linux

Git

E.g. on Ubuntu, try this:
sudo apt-get install git
Else, download and install the source from HERE.

CMake

E.g. on Ubuntu, try this:
sudo apt-get install cmake cmake-qt-gui
Else, download and install the source from HERE

HDF5

E.g. on Ubuntu, try this:
sudo apt-get install libhdf5-dev
for the library and
sudo apt-get install hdfview
for the HDFView data browser.

Else, download and install the source from HERE or HERE for the library and HERE for the HDFView data browser. The HDFGroup webpage contains some detailed installation instructions.

Boost

E.g. on Ubuntu, try this:
sudo apt-get install libboost-dev
Else, download and install the source from HERE.

MPI

E.g. on Ubuntu, try this:
sudo apt-get install mpi-default-dev mpi-default-bin
Else, you will have to manually download and install either MPICH or Open MPI.

Building ERO2.0

Windows (VisualStudio 2013+)

This part is under construction, sorry...

Linux

CMake can be invoked from command line using
cmake </path/to/source/>
with </path/to/source/> being the path to the directory which contains CMakeLists.txt. For instance if you're building directly in the top-level Git directory (ero2/), the command becomes:
cmake .
This produces the directory CMakeFiles (which will contain object files etc.), as well as the files Makefile, CMakeCache.txt and cmake_install.cmake (maybe others as well). Launching
make
will build the code and produce the executable. To keep the root directory clean, it is recommended to create a separate build directory and launch CMake from there:
mkdir build && cd build
cmake </path/to/source/>
make

One can also use a graphical user interface (GUI):
cmake-gui &
There you select the source directory, the build directory, then click Configure and in the pop-up window select Unix Makefile as the Generator. Then click Generate to produce the Makefile. Screenshot 1

One can also create an Eclipse project with CMake. This works best if the build directory is outside the Git directory, e.g. if ~/ero2/ is the source directory and ~/workspace/ero2project/ is your build directory. Launch the CMake GUI, select the source and build directories as described, click Configure and the select Eclipse CDT4 - Unix Makefile as the Generator. Then click Generate. This will produce the .project and .cproject files which will be imported in Eclipse. To do this, in Eclipse click File->Import...->General->Existing Projects into Workspace. In the next window, select the build directory (here: ~/workspace/ero2project/), not the source directory! Click Finish.

You may need to adjust the variable CMAKE_ECLIPSE_VERSION in the CMake GUI if something goes wrong, or use a newer version of CMake or Eclipse. If it doesn't work at all, or you don't need Eclipse's Indexer, you may use File->Import...->C/C++->Existing Code as Makefile Project, which should definitly work for building the code (but without indexing). Screenshot 2 Screenshot 3

Troubleshooting

Problem: On JURECA, CMake complains that it cannot find either Boost or HDF5.

This is probably a problem due to missing or wrong definitions in the CMake modules after a JURECA software stack upgrade. Try falling back to a former stable stage of JURECA. E.g. this:

					module purge
					module use /usr/local/software/jureca/OtherStages
					module load Stages/2015b  intel-para/2015.07
					module load CMake/3.3.2
					module load HDF5/1.8.14-gpfs
					module load Boost/1.58.0-Python-2.7.10
					
then delete the CMakeCache and re-run CMake. If this works for you, store the previous commands in your ~/.profile file.

Usage