Skip to content

Commit c4e0f99

Browse files
authored
Merge pull request #414 from trontrytel/readme_cleanup
readme cleanup [ci skip]
2 parents 25c4f33 + b089f35 commit c4e0f99

File tree

1 file changed

+29
-27
lines changed

1 file changed

+29
-27
lines changed

README.md

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
libmpdata++ - a library of parallel MPDATA-based solvers for systems of generalised transport equations
1+
libmpdata++ - a library of parallel MPDATA-based solvers for systems of generalised transport equations
22
=======================================================================
33

44
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/c1be1645743a463b8ead70f111d2ba15)](https://app.codacy.com/app/igfuw/libmpdataxx?utm_source=github.com&utm_medium=referral&utm_content=igfuw/libmpdataxx&utm_campaign=badger)
@@ -7,29 +7,31 @@ MPDATA stands for Multidimensional Positive Definite Advection Transport Algorit
77
It applies to a variety of problems involving conservation laws in computational fluid dynamics.
88
More generally, it can be used for numerically tackling linear hyperbolic first-order
99
partial differential equation systems. The algorithm was introduced in the context of simulations of atmospheric flows
10-
([Smolarkiewicz, 1984](http://doi.org/10.1016/0021-9991(84)90121-9)).
10+
([Smolarkiewicz, 1984](http://doi.org/10.1016/0021-9991(84)90121-9)).
1111

12-
MPDATA is explicit (forward-in-time), sign-preserving, conservative and non-linearly stable.
13-
Through iterative corrections, it achieves high-order accuracy in time and space even for complex flows and prob-
14-
lem geometries. The algorithm has been continuously developed over a third of a century resulting in a family of robust numerical schemes with documented applications in computational bio-, geo-, and astro-physics as well as engineering
15-
(see [Smolarkiewicz, 2006](http://doi.org/10.1002/fld.1071), [Smolarkiewicz et al., 2016](http://doi.org/10.1016/j.jcp.2016.06.048), for an overview and recent references).
12+
MPDATA is explicit, forward-in-time, sign-preserving, conservative and non-linearly stable.
13+
Through iterative corrections, it achieves high-order accuracy in time and space even for complex flows and problem geometries.
14+
The algorithm has been continuously developed over a third of a century
15+
resulting in a family of robust numerical schemes with documented applications in computational bio-, geo-, and astro-physics as well as engineering
16+
(see [Smolarkiewicz, 2006](http://doi.org/10.1002/fld.1071), [Smolarkiewicz et al., 2016](http://doi.org/10.1016/j.jcp.2016.06.048),
17+
for an overview and recent references).
1618

17-
In short, libmpdata++ is a new header-only C++ implementation of MPDATA.
18-
The features of the library along with discussion of several example
19+
In short, libmpdata++ is a new header-only C++ implementation of MPDATA.
20+
The features of the library along with discussion of several example
1921
use cases were published in a user-guide-style journal paper:
20-
http://www.geosci-model-dev.net/8/1005/2015/
22+
[Jaruga et al., 2015](http://www.geosci-model-dev.net/8/1005/2015/).
2123

2224
Compilation of programs that use libmpdata++ requires:
2325
- a C++11 compliant compiler (optionally with OpenMP support)
2426
- Blitz++ and Boost C++ libraries
25-
- HDF5 and gnuplot-iostream libraries
27+
- HDF5 and gnuplot-iostream libraries
2628
(optional, depending on the type of output mechanism chosen)
2729

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

32-
Compilation and execution of the examples shipped with libmpdata++
34+
Compilation and execution of the examples shipped with libmpdata++
3335
is easiest done using CMake, and the following instructions assume
3436
you're using CMake. Some hints on CMake usage are included at the
3537
end of this file.
@@ -38,7 +40,7 @@ The .travis.yml file shipped with the library contains a complete
3840
set of commands needed to build and execute all tests programs
3941
shipped with libmpdata++ on fresh Ubuntu and OSX installations -
4042
it may contain useful information on obtaining the dependencies.
41-
We also provide a Docker image that contains all requirements
43+
We also provide a Docker image that contains all requirements
4244
and the libmpdata++ library.
4345

4446
## Installing the library and running tests locally
@@ -50,13 +52,13 @@ and the libmpdata++ library.
5052
$ cd build
5153
$ cmake ..
5254
$ cd ../..
53-
```
55+
```
5456
The next two steps are optional test. Running the tests is highly
55-
recommended to verify if the library works correctly in your
57+
recommended to verify if the library works correctly in your
5658
environment. Nevertheless, in principle you can skip to step four
5759
and install the library right away.
58-
59-
### 2. To perform unit tests:
60+
61+
### 2. To perform unit tests:
6062
```
6163
$ cd tests/unit
6264
$ mkdir build
@@ -71,17 +73,17 @@ The unit tests should complete in a dozen of seconds.
7173
### 3. To reproduce all results from the GMD paper:
7274
```
7375
$ cd tests/paper_2015_GMD
74-
$ mkdir build
76+
$ mkdir build
7577
$ cd build
7678
$ cmake ..
7779
$ make
78-
$ make test
80+
$ make test
7981
$ cd ../../..
8082
```
8183
This takes ca. 15 minutes on a quad-core laptop. The "make test"
82-
command performs simulations, checks the output against reference
83-
data (tests/paper_2015_GMD/*/refdata/*) and plots all figures
84-
included in the paper. The subfolders of paper_2015_GMD correspond
84+
command performs simulations, checks the output against reference
85+
data (tests/paper_2015_GMD/*/refdata/*) and plots all figures
86+
included in the paper. The subfolders of paper_2015_GMD correspond
8587
to consecutive chapters in the GMD paper. Some of the scripts run
8688
by "make test" require additional packages including Python, Python
8789
libraries (NumPy, SciPy, matplotlib) and Paraview.
@@ -92,26 +94,26 @@ libraries (NumPy, SciPy, matplotlib) and Paraview.
9294
$ sudo make install
9395
```
9496
This will copy the libmpdata++ headers into the system include path
95-
(e.g. /usr/include/libmpdata++) and copy the libmpdata++-config.cmake
96-
file into the system share directory (e.g. /usr/share/libmpdata++)
97+
(e.g. /usr/include/libmpdata++) and copy the libmpdata++-config.cmake
98+
file into the system share directory (e.g. /usr/share/libmpdata++)
9799
what will allow CMake users to do find_package(libmpdata++).
98100

99101
### Some CMake hints:
100102
- to point CMake to a non-default C++ compiler (e.g. clang++):
101103
```
102-
$ cmake .. -DCMAKE_CXX_COMPILER=clang++
104+
$ cmake .. -DCMAKE_CXX_COMPILER=clang++
103105
```
104106
- to alter the installation prefix (e.g. /usr/ instead of /usr/local):
105107
```
106108
$ cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr
107109
```
108-
- to switch between debug and release (default) compilation modes
110+
- to switch between debug and release (default) compilation modes
109111
(has to be done after compiler choice):
110112
```
111113
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
112114
$ cmake .. -DCMAKE_BUILD_TYPE=Release
113-
```
114-
- two alternative ways of cleaning leftovers from a previous build
115+
```
116+
- two alternative ways of cleaning leftovers from a previous build
115117
(including CMake cache files):
116118
```
117119
$ rm -rf build/CMakeCache.txt build/CMakeFiles

0 commit comments

Comments
 (0)