Skip to content
Thomas Nipen edited this page Sep 22, 2020 · 44 revisions

The gridpp library contains functions for the core algorithms in gridpp. Gridpp is written in C++, but automatic wrappers for python and R are created using SWIG. All examples using the library in this wiki use the python interface.

API reference

The documentation for the functions in the API is found here. This wiki describes the features of the latest released version of gridpp, however the API reference contains lists of functions for all versions of the API.

The library consists mostly of functions that take scalars (float, int) and vectors (1D, 2D, 3D std::vector) as inputs.

Parallelization

Many gridpp functions are configured to run on multiple processors. To enable this, either set the OMP_NUM_THREADS= environment variable to the number of parallel threads to use, or call the following function, before calling any other functions:

gridpp::set_omp_threads(4);

If OMP_NUM_THREADS= is not set and gridpp::set_omp_threads is never called, a default of 1 thread will be used. This applies also to any of the language bindings.

Exceptions

Functions will throw std::invalid_argument exceptions when input arguments are invalid (e.g. dimension mismatch between arguments) and std::runtime_error for other errors. These exceptions are passed through the SWIG layer and trapped by the language bindings.

Clone this wiki locally