eSTOMP (exascale Subsurface Transport Over Multiple Phases) is a highly scalable (parallel) version of STOMP that was developed using a component-based approach. Parallelization is achieved through domain decomposition using the Global Arrays toolkit (Nieplocha et al. 2006). The key features of this conversion are 1) the definition of a data model to describe a grid that is distributed over multiple processors, 2) the definition of a grid component interface based on this model, and 3) the implementation of the grid component and the conversion of the remaining portions of the code. The GA toolkit supports a one-sided communication, shared memory style programming model on both shared and distributed memory platforms. Because the eSTOMP simulator is highly scalable, it is ideally suited for running waste form calculations because long run times can result when they are executed with a serial code. Currently, the water operational mode with reactive transport (eSTOMP-W-R) is the only operational mode available for public release.
J. Nieplocha, B. Palmer, V. Tipparaju, M. Krishnan, H. Trease, and E. Apra. "Advances, Applications and Performance of the Global Arrays Shared Memory Programming Toolkit." International Journal of High Performance Computing and Applications, 20(2), 2006.
Online User Guide
An online eSTOMP user guide has been created for eSTOMP-W-R. The user guide provides additional information about the theory and code design in addition to capabilities, input options, and input file syntax along with examples.
Availability & Licensing
eSTOMP is a derivative work of STOMP and is available as open source software from PNNL’s github repository.
For technical questions regarding eSTOMP contact Fred Zhang.