Home

Awesome

libcloudph++ - a cloud (micro)physics library

To get more information on libcloudph++, please check:

Compilation of libcloudph++ requires:

Compilation of the Python bindings for libcloudph++ (enabled by default) further requires:

Compilation of the ``icicle'' test program described in the 2015 GMD paper on libcloudph++ (and generation of all results presented in the paper) further requires:

During development of libcloudph++, we are continuously testing the code on Linux using GCC and LLVM/Clang as well as on OSX using Apple/Clang - these are considered the supported platforms.

Compilation and execution of the examples shipped with libcloudph++ is easiest done using CMake, and the following instructions assume you're using CMake. Some hints on CMake usage are included at the end of this file.

The .travis.yml file shipped with the library contains a complete set of commands needed to build and execute all tests programs shipped with libcloudph++ on fresh Ubuntu and OSX installations - it may contain useful information on obtaining the dependencies.

  1. To check the dependencies and compile the library, please try:
    $ mkdir build
    $ cd build
    $ cmake ..
    $ make
    $ cd ..

The next two steps are optional test. Running the tests is highly recommended to verify if the library works correctly in your environment. Nevertheless, in principle you can skip to step four and install the library right away.

  1. To perform unit and some other quick tests, please try:
    $ cd build/tests
    $ make test
    $ cd ../..

These tests should complete in a few minutes.

  1. To reproduce all results from the GMD paper, please try:
    $ cd models/kinematic_2D
    $ mkdir build 
    $ cd build
    $ cmake ..
    $ make
    $ make test     
    $ cd ../../..

This can take over an hour if a GPU is available or longer if using CPU only.

  1. To install the library system-wide, please try:
    $ cd build
    $ sudo make install

This will copy the libcloudph++ headers into the system include path (e.g. /usr/include/libcloudph++), copy the libcloudph++-config.cmake file into the system share directory (e.g. /usr/share/libcloudph++) and install the shared library file (e.g. /usr/lib).

Some CMake hints: