This talk presents work from the ARCHER2-eCSE08-5 project that aims to dramatically increase the modelling capabilities of gprMax with the addition of MPI domain decomposition to the CPU solver. gprMax is an open-source software package for computational electrodynamics written in Python with performance-critical parts written in Cython. While originally developed for modelling Ground Penetrating Radar (GPR), it can be used to model electromagnetic wave propagation in fields such as engineering, geophysics, archaeology, and medicine.

We will present gprMax from a scientific viewpoint, introducing its existing capabilities, some of its applications and use cases, as well as the opportunities enabled by this work to explore new scientific areas. Second, we will present a technical overview of the project alongside initial performance results. This will explore the performance and scaling characteristics of the domain decomposition, our approach to testing using the ReFrame framework, and the adoption of VTKHDF for parallel I/O (a file format designed for visualisations).