摘要:The finite physical source problem is usually studied with the concept of volume and time integrals over Green's functions (GFs), representing delta-impulse solutions to the governing partial differential field equations. In seismology, the use of realistic Earth models requires the calculation of numerical or synthetic GFs, as analytical solutions are rarely available.The computation of such synthetic GFs is computationally and operationally demanding. As a consequence, the on-the-fly recalculation of synthetic GFs in each iteration of an optimisation is time-consuming and impractical. Therefore, the pre-calculation and efficient storage of synthetic GFs on a dense grid of source to receiver combinations enables the efficient lookup and utilisation of GFs in time-critical scenarios. We present a Python-based framework and toolkit – Pyrocko-GF – that enables the pre-calculation of synthetic GF stores, which are independent of their numerical calculation method and GF transfer function.The framework aids in the creation of such GF stores by interfacing a suite of established numerical forward modelling codes in seismology (computational back ends). So far, interfaces to back ends for layered Earth model cases have been provided; however, the architecture of Pyrocko-GF is designed to cover back ends for other geometries (e.g. full 3-D heterogeneous media) and other physical quantities (e.g. gravity, pressure, tilt). Therefore, Pyrocko-GF defines an extensible GF storage format suitable for a wide range of GF types, especially handling elasticity and wave propagation problems. The framework assists with visualisations, quality control, and the exchange of GF stores, which is supported through an online platform that provides many pre-calculated GF stores for local, regional, and global studies. The Pyrocko-GF toolkit comes with a well-documented application programming interface (API) for the Python programming language to efficiently facilitate forward modelling of geophysical processes, e.g. synthetic waveforms or static displacements for a wide range of source models. Downloadandlinks Article (PDF, 4121 KB) How to cite Back to top top How to cite. Heimann, S., Vasyura-Bathke, H., Sudhaus, H., Isken, M. P., Kriegerowski, M., Steinberg, A., and Dahm, T.: A Python framework for efficient use of pre-computed Green's functions in seismological and other physical forward and inverse source problems, Solid Earth, 10, 1921–1935, https://doi.org/10.5194/se-10-1921-2019, 2019. 1 Introduction Back to toptop Green's functions (GFs) are used abundantly to represent force excitations of many different processes inside the Earth.A GF source representation is a mathematical concept to synthesise finite spatio-temporal sources. The GF is defined as the force delta-impulse solution of the system of partial differential equations of the field problem (see e.g. Tolstoy, 1973, chap. 7). In the field of physics, GFs obey the causality condition that allows us to formulate the response at the receiver as a function of retarded time relative to the time of force excitation. For a finite duration of force excitation at the source, this leads to a time convolution integral representation of such a finite-duration source. Sources that have a finite spatial extent are realised by summing over weighted, spatially distributed point sources, leading to a volume integral representation of the source. Combining both integrals, an excitation source can be represented in space and time. The concept of GF source representation was introduced by George Green in 1828 (see e.g. Cannell and Lord, 1993), and since then it has been used to describe electromagnetic, mechanical, and thermal problems, including elasto-static deformation, wave propagation, wave scattering, and fluid and pressure diffusion.With a combination of point forces we can approximate the wave fields and deformation for a variety of different processes. For instance, the wave field and the deformation of the well-known double-couple moment tensor representation closely resembles a distribution of dislocations on a rupture plane (e.g. Dahm and Krüger, 2014).Such representations of finite-volume sources often include higher-order moments and not only single forces, formally leading to elementary solutions which are spatial and temporal derivatives of the original GFs. In practice, the nomenclature is often not distinguished between the elementary solutions and the point-force GF, and all are denoted as Green's functions.Solving the non-linear inverse problem of determining the parameters of sources with a finite duration and finite extent is a computational costly effort. It involves the repeated numerical calculation of a large number of GFs for combinations of force excitations in the context of an optimisation algorithm. During the iterations of an optimisation the parameters of the force excitations change, e.g. times, locations, orientations, and strength. If done on the fly, the GF calculation may strongly dominate the overall computational costs of the optimisation and even render it impractical.The structured storage of GFs in GF databases (GF stores in the following) allows for the query of pre-calculated GFs for individual source–receiver configurations rather than time-consuming recalculation. The conceptional architecture of this approach is sketched in Fig. 1. Pre-calculated GFs have long been used for operational routine seismological source inversion (Dahm and Krüger, 2014, Table 3). Often, these are in-house-developed database solutions or other structured storage linked to specific forward modelling and inversion codes. Some recent developments provide open GF databases for seismological applications, like Instaseis (Van Driel et al., 2015) or Syngine (IRIS DMC, 2015; Krischer et al., 2017). The benefit for users is significant because the expensive calculation of standard GF databases, particularly for global seismic velocity models, can be avoided. Also, making errors in the GF calculation can be avoided by using such approved GF databases. However, rigid database schemes can be restricted to the modelling method which has been used to create them.Figure 1Concept of the Green's function stores, the positions of the source xs, and the positions of receivers xr from source–receiver pairs of Green's functions G(xs,xr,tr-ts) that are computed on a predefined grid for a specified time window. These GFs are saved in a store and can be utilised through the Pyrocko-GF Python API.