MPTRAC Dependencies
June 9, 2026 ยท View on GitHub
This file lists the software dependencies required to build and run MPTRAC. It includes both mandatory and optional dependencies. Ensure that the correct versions are installed for optimal performance.
Mandatory Dependencies
These dependencies are required to compile MPTRAC:
| Dependency | Version | Description |
|---|---|---|
| Git | v2.43.0 | Version control and code repository access |
| GNU Make | v4.3 | Build tool |
| GNU Compiler Collection (GCC) | v13.3.0 | C, C++ and Fortran compilers |
| GNU Scientific Library (GSL) | v2.7.1 | Numerical calculations |
| netCDF library | v4.9.2 | Portable file I/O |
| HDF5 library | v1.14.4-3 | Enable netCDF4 file format |
Optional Dependencies
These dependencies enable additional features of MPTRAC. They are not required for basic compilation but enhance functionality like GPU support, parallel computing, and data compression.
| Dependency | Version | Description |
|---|---|---|
| NVIDIA HPC SDK | v25.1 | GPU support |
| CMake | v3.28.3 | Build tool (required for ecCodes support) |
| Clang (LLVM) | v18.1.8 | Alternative C/C++ compiler |
| Intel Compilers (ICC and IFORT) | v2024.2.0 | High-performance C, C++, and Fortran compilers from Intel |
| Open MPI | v5.1.0 | MPI library for HPC support |
| ParaStation MPI | v5.11.0 | MPI library for HPC support |
| ecCodes | v2.38.3 | Encoding and decoding GRIB messages |
| Kinetic PreProcessor (KPP) | v3.2.0 | Preprocessor for generating chemical mechanism code |
| Thrust | v1.14.0 | C++ template library for parallel algorithms and data structures |
| Zstandard | v1.5.7 | Compression library |
| zfp | v1.0.1 | Compression library |
| SZ3 | v3.2.1 | Compression library |
| gnuplot | v5.4.5 | Graphing utility for visualization |
| ParaView | v5.11.0 | Visualization tool for scientific data |
| Cppcheck | 2.13 | Static code analysis |
| gprofng | 2.42 | Performance profiling tool |
| gcov | 13.2.0 | Coverage testing tool |
| lcov | 2.0 | Code coverage visualization tool |
| Doxygen | 1.9.8 | Automatic source code documentation |
| MkDocs | 1.5.3 | Build documentation locally |
Installing Dependencies
For detailed installation instructions on each of these dependencies, refer to the official documentation linked above. Below are a few common ways to install them:
-
Ubuntu/Debian: Use
apt-getfor system-wide installs:sudo apt-get install git make gcc gfortran libgsl-dev libnetcdf-dev libhdf5-dev zlib1g-dev -
CentOS/RHEL: Use
yumto install most dependencies:sudo yum install git make gcc gsl-devel netcdf-devel hdf5-devel zlib-devel -
MacOS: Use
brew(Homebrew):brew install git make gcc gsl netcdf hdf5 zlib
Notes on Optional Dependencies
-
NVIDIA HPC SDK: Required for GPU support. Follow the official NVIDIA installation guide for your system.
-
OpenMPI: For high-performance computing (HPC) and parallel computing. Install via your package manager or build from source.
-
KPP (Kinetic PreProcessor): If you're working with chemical mechanisms, KPP is needed for preprocessing. Follow the KPP documentation for installation.