xSDK: Working toward a Community CSE Software Ecosystem

Poster presented at SIAM CSE17 PP108 Minisymposterium: Software Productivity and Sustainability for CSE and Data Science<div><br></div><div><b>Abstract:</b> As CSE increasingly incorporates multiscale and multiphysics modeling, simulation, and analysis, the combined use of software developed by independent groups has become imperative. However, sharing software is difficult due to inconsistencies in configuration, installation, and third-party packages, as well as deeper challenges when interoperability requires control inversion and controlling data across packages.<div><br></div><div>This poster explains how the Extreme-scale Scientific Software Development Kit (xSDK, https://xsdk.info) addresses these difficulties and provides the foundation of a CSE software ecosystem, as we work toward a collection of complementary software elements developed by diverse, independent teams. We demonstrate how the xSDK facilitates investigating climate impacts on the Upper Colorado River System through coupled models for surface-subsurface hydrology and reactive transport. Alquimia, an application-specific xSDK package, provides a common interface library for codes like Amanzi/ATS and ParFlow to access biogeochemistry capabilities from codes such as PFLOTRAN and CrunchFlow. In turn, these applications require the combined use of xSDK numerical libraries, including hypre, PETSc, SuperLU, and Trilinos.</div><div><br></div><div>A key aspect of work is a set of draft xSDK community policies, which improve code quality, sustainability, usability, and interoperability. We invite the CSE community to provide feedback on community policies and contribute to the xSDK.</div></div>