# [SCG70-P02] Development of the parallelized code of the numerical shake prediction scheme

Keywords:Real-time ground motion prediction, Parallelized computing

In most of the currently operational real-time ground motion prediction systems, prediction strategy using hypocentral information (location and magnitude) is widely adopted. From the viewpoint of robust prediction, a prediction framework without hypocentral information is required because sometimes the estimation of hypocentral information may be failed. The numerical shake prediction scheme proposed by Hoshiba and Aoki (2015) is one approach to predict ground motion without source parameters. One problem in the numerical shake prediction scheme is a calculation load. To implement the scheme in an operational system, a fast and efficient calculation code is required. Hence, we have begun to develop a parallelized calculation code of the scheme. We use Fortran 90 and OpenMPI.

The numerical shake prediction scheme of Hoshiba and Aoki (2015) consists of two parts: one is the estimation of current seismic energy distribution using data assimilation technique, and the other is the calculation of future seismogram based on a radiative transfer theory. In the estimation of current energy distribution, optimal interpolation is adopted, which is represented as a matrix calculation. In the prediction stage, a Monte Carlo simulation is used because of its flexibility. There are two ways in parallelization strategy. The one is the regional parallelization, which means that the target region is divided into many subregions and each MPI subprocess is assigned to each subregion. The other is the parallelization over particles in a Monte Carlo simulation. The regional parallelization is preferable in a highly parallelized environment, however, it requires some ingenuity to keep consistency with adjacent regions. Calculation time would reach the limit as the number of MPI subprocesses increases in the parallelization over particles, however, it is easier to make a code than the regional parallelization.

When we measure the calculation time of the prototype code, not only the part of the Monte Carlo simulation but also other parts such as communication using MPI functions and initializing arrays contribute the calculation time. To reduce the calculation time in the Monte Carlo simulation, hybrid parallelization using OpenMP would be effective. In the hotspots of communication and array initialization, calculation time would be reduced by minimizing the amount of communication and array size.

The numerical shake prediction scheme of Hoshiba and Aoki (2015) consists of two parts: one is the estimation of current seismic energy distribution using data assimilation technique, and the other is the calculation of future seismogram based on a radiative transfer theory. In the estimation of current energy distribution, optimal interpolation is adopted, which is represented as a matrix calculation. In the prediction stage, a Monte Carlo simulation is used because of its flexibility. There are two ways in parallelization strategy. The one is the regional parallelization, which means that the target region is divided into many subregions and each MPI subprocess is assigned to each subregion. The other is the parallelization over particles in a Monte Carlo simulation. The regional parallelization is preferable in a highly parallelized environment, however, it requires some ingenuity to keep consistency with adjacent regions. Calculation time would reach the limit as the number of MPI subprocesses increases in the parallelization over particles, however, it is easier to make a code than the regional parallelization.

When we measure the calculation time of the prototype code, not only the part of the Monte Carlo simulation but also other parts such as communication using MPI functions and initializing arrays contribute the calculation time. To reduce the calculation time in the Monte Carlo simulation, hybrid parallelization using OpenMP would be effective. In the hotspots of communication and array initialization, calculation time would be reduced by minimizing the amount of communication and array size.