HPGL stands for High Performance Geostatistics Library.

HPGL is written in C++ / Python to realize some geostatistical algorithms (see full list below). The algorithms are called in Python, by executing the corresponding commands.

2. Features

HPGL boasts the following features:

  • High performance (even in comparison to commercial software)
  • Low memory consumption
  • Parallel Kriging (shared memory, OpenMP)
  • Cross-platform functionality (Windows / Linux)
  • Easy development of geo-modeling scenarios using Python
  • NumPy/SciPy compatibility (properties are stored as NumPy arrays)
  • Built-it functions for writing and reading GSLIB and Eclipse Property text files
  • LAPACK solvers for linear equation problems in Kriging and Simulation
  • The algorithms are performed on a Cartesian Grid (IJK-grid).

3. Algorithms

The current version of HPGL (0.9.9) implements the following algorithms:

  • Simple Kriging (SK)
  • Ordinary Kriging (OK)
  • Indicator Kriging (IK)
  • Local Varying Mean Kriging (LVM Kriging)
  • Simple CoKriging (Markov Models 1 & 2)
  • Sequential Indicator Simulation (SIS)
  • Corellogram Local Varying Mean SIS (CLVM SIS)
  • Local Varying Mean SIS (LVM SIS)
  • Sequential Gaussian Simulation (SGS)

4. GSLIB Benchmark

  • 1 CPU case (Intel Core Duo 1.8 Ghz)
  • Grid Size: 166x141x225 (5+ millions cells)
  • Indicator Property: 20% defined points, 80% undefined, 2 indicators
  • Continious Property: 20% defined points, 80% undefined, Values: [0:1]
  • Variogram = (10, 10, 10)
  • Search Radius = (20, 20, 20)
  • Max Neighbourhoods = 12
Algorithm GSLIB HPGL 0.9.5
Simple Kriging 4m 10s 1m 7s
Ordinary Kriging 4m 30s 1m 80s
Indicator Kriging 1h 30m+ 1m 60s
Sequential Indicator Simulation 4m 40s 1m 30s
Sequential Gaussian Simulation 3m 10s 1m 70s

5. Acknowledgements

The Author of Big Brovar wish to thank Andre Journel for his valuable support and indefatigable enthusiasm.

The Authors also thank Iskander Shafikov for his assistance with the English translations and the User Guide cover