Introduction to eSTOMP
eSTOMP (exascale Subsurface Transport Over Multiple Phases) is the highly scalable (parallel) version of STOMP which was developed using a component-based approach. Parallelization is achieved through domain decomposition using the using the Global Arrays toolkit (GA) (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 since long run times can result when they are executed with a serial code.
Like STOMP, eSTOMP is an analytical tool for investigating coupled processes involving multifluid flow, heat transport and geochemistry in the subsurface. The simulator can be applied to geologic nuclear waste repositories; radionuclide transport; unsaturated zone hydrology; reactive barriers; nuclear waste tank thermal histories; surface barriers; soil desiccation; geologic sequestration of greenhouse gases; and coupled reactive transport. Since eSTOMP capabilities are based on STOMP, to date, only a subset of STOMP modes have been made parallel (eSTOMP-W(-R), eSTOMP-WAE and eSTOMP-CO2e). As the need arises, other STOMP modes will be made parallel in the future.
The primary design guides for the eSTOMP simulator has been computational efficiency and alignment with the serial STOMP code. This means that whenever possible, input files, output files and capabilities are the same between the serial and parallel codes. The primary motivation for the development of eSTOMP has been the need for computational efficiency associated with complex systems, regional scale models, model calibration and uncertainty quantification. eSTOMP possesses STOMP capabilities and is highly scalable, which make it well suited for large-scale hydrology, geothermal, and CO2 sequestration applications.
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.