11email: [email protected]
Numerical evaluation of time-distance helioseismic sensitivity kernels in spherical geometry
Abstract
Context. Helioseismic analysis of large-scale flows and structural inhomogeneities in the Sun requires the computation of sensitivity kernels that account for the spherical geometry of the Sun, as well as systematic effects such as line-of-sight projection.
Aims. I aim to develop a code to evaluate helioseismic sensitivity kernels for flows using line-of-sight projected measurements.
Methods. I decomposed the velocity field in a basis of vector spherical harmonics and computed the kernel components corresponding to the coefficients of velocity in this basis. The kernels thus computed are radial functions that set up a 1.5D inverse problem to infer the flow from surface measurements. I demonstrate that using the angular momentum addition formalism lets us express the angular dependence of the kernels as bipolar spherical harmonics, which may be evaluated accurately and efficiently.
Results. Kernels for line-of-sight projected measurements may differ significantly from those that don’t account for projection. Including projection in our analysis does not increase the computational time significantly. We demonstrate that it is possible to evaluate kernels for pairs of points that are related through a rotation by linearly transforming the terms that enter the expression of the kernel, and that this result holds even for line-of-sight projected kernels.
Conclusions. I developed a Julia code that may be used to evaluate sensitivity kernels for seismic wave travel times computed using line-of-sight projected measurements, which is made freely available under the MIT license.
Key Words.:
Sun: helioseismology - Methods: numerical1 Introduction
Helioseismology is a commonly used tool to infer large-scale subsurface features in the Sun, such as zonal and meridional flows. This works by relating surface measurements of seismic observables — such as wave travel-times — to subsurface features such as flows, through a sensitivity kernel that describes the response of the observable to a change in the background through which the waves propagate. The sensitivity kernel depends both on the details of the background model such as the thermal structure and the presence of inhomogeneous features such as flows, as well as on specifics of the measurement procedure. Recently, considerable effort has been made to develop frameworks to evaluate sensitivity kernels that describe wave propagation in the first Born approximation while accounting for the spherical geometry of the Sun (Böning et al., 2016; Mandal et al., 2017; Gizon et al., 2017; Fournier et al., 2018). The present work builds on the results of Bhattacharya et al. (2020) and Bhattacharya (2020), in which the authors described the procedure to evaluate sensitivity kernels by accounting for line-of-sight projections that are inherent in Doppler measurements of wave velocity, as well as the differences in line-formation height between the solar disk center and the limb.
In this work, we describe the numerical scheme in computing the sensitivity kernel in detail. Secondly, we improve upon the algorithm presented in the previous work to evaluate the angular dependence of the sensitivity kernels, which makes it possible to evaluate the kernels for waves with arbitrarily high spherical harmonic degrees, which was not possible in the approach presented by Bhattacharya (2020). We also investigated the impact of line-of-sight projection on the kernels, and demonstrate that the kernels for line-of-sight projected measurements may differ significantly from that computed for the radial components. Furthermore, we illustrate how the assumed spherical symmetry in the background solar model makes the computation of kernels numerically more efficient even if line-of-sight projections are included, as pairs of points that are related through a rotation have the corresponding kernels related through a unitary transformation.
We provide a Julia implementation of the algorithm described here and in Bhattacharya (2020) that may be used to evaluate helioseismic sensitivity kernels in spherical geometry. We chose Julia (Bezanson et al., 2017) as the language because it merges superior performance with the productivity of a high-level language. The code is modular and features various subsections that might be useful in other related analyses of functions in spherical geometry.
2 Theory
We denote a point in the Sun by , which, in spherical polar coordinates, may be represented in terms of the radial coordinate , the co-latitude and the azimuthal angle . The sensitivity kernel for flows in the Sun, is a vector function that depends on two observation points and and a third point where the flow velocities are to be inferred. We follow Bhattacharya (2020) and expand the sensitivity kernels in a basis of vector spherical harmonics in . The coefficients of expansion are functions of the two angular coordinates and , which we further expand in a basis of bipolar spherical harmonics. In the following sections, we expand upon the approach to evaluate the angular functions involved in the analysis, while we use the radial functions as described by Bhattacharya (2020).
2.1 Angular functions
2.1.1 Vector spherical harmonics
Vector spherical harmonics (VSH) form a complete basis that may be used to decompose vector fields on a sphere. Analogous to scalar spherical harmonics, the vector spherical harmonics are eigenfunctions of the angular momentum operator and may be uniquely labeled by the angular degree , the azimuthal order , and an index that indicates the direction of the vector. The choice of the vector indices is not unique, as linear combinations of one basis may also form another complete basis. This provides us with the freedom to choose the most convenient set to work with. The wave equation may be written most conveniently in terms of the Hansen vector spherical harmonics (Hansen, 1935):
(1) | ||||
(2) | ||||
(3) |
where is the radial unit vector, is the angular gradient operator, represents a point on the unit sphere, and is the scalar spherical harmonic. This is because conservative restoring forces that appear in the helioseismic wave equation may be expressed in terms of the harmonics and with no component directed along .
The evaluation of the sensitivity kernels is easier in a linear combination of the Hansen harmonics that we refer to as the Phinney-Burridge harmonics, following their use by Phinney & Burridge (1973):
(4) | ||||
(5) | ||||
(6) |
The advantage of the PB harmonics over the Hansen ones is that these are diagonal at each point in the covariant helicity basis, defined as
(7) | ||||
(8) | ||||
(9) |
with the diagonal components being generalized spherical harmonics , where is the Kronecker delta function, and the generalized spherical harmonics are normalized elements of the Wigner D-matrix (Dahlen & Tromp, 1998). This implies that on this basis, we only require three components instead of nine to describe the vector harmonics, which provides a significant computational advantage.
2.1.2 Bipolar spherical harmonics
Analogous to using a basis of scalar or vector spherical harmonics to decompose one-point functions on a sphere, a two-point function may be decomposed on a basis of bipolar spherical harmonics. These may be evaluated through angular-momentum coupling of monopolar PB harmonics as
(10) |
where is a Clebsch-Gordan coefficient and represents a monopolar PB vector harmonic at the point . These bipolar harmonics are rank-2 tensors, which are eigenfunctions of the angular momentum operator and satisfy similar properties such as orthogonality and completeness. We may use these bases in evaluating cross-covariances that are two-point functions on the solar surface. In our analysis, we sought the projection of the bipolar harmonics along the line of sight at each observation point. Assuming that the line of sight at each point on the Sun is directed along , we obtain the following projected harmonic:
(11) |
where the double contraction operator is defined using the Einstein summation convention as .
2.1.3 Rotation of harmonics
One advantage of expressing two-point functions on the basis of bipolar spherical harmonics is that their behavior under a rotation of coordinates may be described as a unitary transformation. We assume that the points and have coordinates and in a frame , and and in a frame , where the frames and are related through for some rotation . We refer to the points and as and in the frame , with the understanding that the points with and without the primes are identical, and the primes refer to the difference in coordinates that arise from a change in basis between the frames. Under such a rotation, the components of bipolar spherical harmonics satisfy
(12) |
where is the Wigner D-matrix corresponding to the rotation. In our analysis, we evaluate the dot products in the helicity basis, in which case the rotation matrices become , where the matrix transforms between the Cartesian and helicity bases and has elements , and the superscript represents a transpose, while an asterisk as a superscript denotes complex conjugation.
2.2 Sensitivity kernels
The fundamental measurement in time-distance helioseismology is line-of-sight projected Doppler velocity measurements of oscillations at the solar surface. We denote the time-evolution of the velocity of oscillation at the point by . We assume that the direction coincides with the direction of the line of sight, so the component of velocity that is measured is The frequency-domain components of the time evolution of the velocity may be denoted by . Propagation of seismic waves are best studied in terms of the cross-covariance of wave velocity at two points and , which is given by
(13) |
where the angular brackets indicate an ensemble average. The measured cross-covariance accounting for projection may be expressed as
(14) |
While the cross-covariances of the radial components of the wave velocity depends solely on the angle between the two observation points and , the line-of-sight projection breaks this spherical symmetry. We chose a second pair of points and that are related to the pair through a rotation . The cross-covariances measured at these pairs of points are related through
(15) |
The knowledge of the covariance tensor therefore suffices to evaluate the line-of-sight-projected cross-covariance between any two pairs of points related by a rotation.
Following Bhattacharya (2020), we express the flow velocity within the Sun as
(16) |
Seismic waves interact with this velocity field, and their local propagation speeds are altered. This shows up in the measured cross-covariances . It is common in time-distance helioseismology to apply a filter and follow the propagation of a subsection of waves; for example, those that arrive in a short time interval. This is achieved by choosing an appropriate window that filters out wave arrivals at a particular observation point. We may obtain the difference in the time taken by seismic waves to travel between the observation points and by comparing the measured wave covariance with that in a model that does not account for the flow. Gizon & Birch (2002) demonstrated a way to relate the shift in travel times linearly to the flow velocity as
(17) |
We may use Equation (16) and expand the sensitivity kernel analogously on a basis of the PB VSH to rewrite Equation (17) as
(18) |
The radial profiles of the spherical harmonic coefficients of the sensitivity kernel, following Bhattacharya (2020), may be expressed as
(19) | ||||
where and are wave numbers associated with the waves, and and indicate vector components of the wave velocity in the helicity basis. In practice, we may limit the frequency integral to the range corresponding to waves that are bound within the Sun, although we may include higher frequencies corresponding to evanescent waves by choosing appropriate boundary conditions (Gizon et al., 2017). The function may be expressed as a product of a radial function of Green’s function, which we refer to as , and a window function that selects an appropriate wave arrival, as
(20) |
The detailed expressions for these radial functions may be found in Bhattacharya (2020). In this work, we focused on the angular dependence of the kernel.
The window function (Gizon & Birch, 2002) is a nonlinear function of the modeled cross-covariance, which, in turn, implies that the kernel components and are related to each other nonlinearly through the rotation operator . We may, however, split the evaluation of the kernel into two parts by noting that the components of the bipolar harmonics and transform linearly between each other following Equation (12). The window function may be evaluated as a function of frequency while the remaining sums over , , and may be evaluated separately, and the two may be multiplied at the final stage and integrated over frequency to obtain the kernel components.
3 Method
We evaluated the vector harmonics by noting that these may be generated by coupling unit vectors and scalar spherical harmonics through the mechanism of angular momentum addition. Specifically, we constructed the following linear combination of the Cartesian basis vectors:
(21) | ||||
(22) | ||||
(23) |
We followed Varshalovich et al. (1988) and refer to this basis as the covariant spherical basis. We coupled this basis with scalar spherical harmonics to construct the vector spherical harmonics:
(24) |
The Clebsch-Gordan relations involved in this sum may be evaluated explicitly, and we list these in Appendix A. For a detailed discussion on these harmonics, we invite the reader to consult James (1976).
We may show (Varshalovich et al., 1988) that these harmonics are related to the Hansen ones through
(25) | ||||
(26) | ||||
(27) |
This provides us with a route to get from scalar spherical harmonics to the vector ones that we are interested in. For numerical efficiency, we used the conjugation relation
(28) |
to evaluate the harmonics for negative .
We developed a Julia implementation of this algorithm to evaluate vector spherical harmonics, which is available freely under the MIT license as the package VectorSphericalHarmonics.jl111https://github.com/jishnub/VectorSphericalHarmonics.jl. In this, we used the spherical harmonics code by Limpanuparb & Milthorpe (2014), which can generate accurate values of the harmonics till angular degrees of around , with an absolute and relative accuracy of . Since the components of the vector harmonics are linear combinations of normalized spherical harmonics, the accuracy of these functions are similar. This approach of computing vector spherical harmonics differs from the previous approach by Bhattacharya (2020), where the authors had chosen to evaluate them through the computation of Wigner D-matrices, where the accuracy was limited to degrees of around . The present approach offers accuracy to a much higher degree, as well as being computationally more efficient.
The monopolar scalar or vector harmonics may be coupled to evaluate bipolar harmonics. We recognize that the expressions for the sensitivity kernels may be cast in a way that involves the harmonics as well as . We may use the symmetries of the Clebsch-Gordan coefficients to obtain
(29) |
We used this relation to avoid the need to evaluate certain bipolar harmonics, and we used pre-computed values instead.
We developed a Julia code to evaluate bipolar spherical harmonics that is freely available under the MIT license as the package BipolarSphericalHarmonics.jl222https://github.com/jishnub/BipolarSphericalHarmonics.jl. We evaluated the Clebsch-Gordan coefficients using the freely available FORTRAN package SHTOOLS (Wieczorek & Meschede, 2018) for low angular degrees, and the Julia implementation of the public code wigxjpf (Johansson & Forssén, 2016) for high angular degrees. The former is computationally more efficient, using a double precision implementation of the algorithm presented by Luscombe & Luban (1998) and accurate up to angular degrees of around , whereas the latter is accurate at higher angular degrees as it carries out computation using arbitrary-precision arithmetic. The Julia implementation of the wigxjpf algorithm is available as the package WignerSymbols.jl. The ability to evaluate the Clebsch-Gordan coefficients for arbitrarily high degrees is an improvement over previous work by Bhattacharya (2020), as the kernels may now be computed using a wider range of wave modes.
We followed Feng et al. (2015) to evaluate Wigner D-matrices that feature in Equation (12). A Julia implementation of this code is available freely under the MIT license as the package WignerD.jl333https://github.com/jishnub/WignerD.jl. This uses an exact diagonalization of the angular momentum operator to evaluate the matrix elements, an approach that is tested to be accurate in absolute values up to degrees of around , although relative errors may be dominated by machine precision for values close to zero. The latter does not pose a significant challenge in our analysis, given that the harmonics are normalized, and the rotated harmonics depend overwhelmingly on the D-matrix elements with absolute values on the order of . Further tests might be necessary to use the rotation relation for bipolar harmonics at higher angular degrees.
4 Results

4.1 Sensitivity kernels
We compared the sensitivity kernel for the radial component of the flow velocity computed using line-of-sight wave velocities and compared it with that computed using a radial component of wave velocities, choosing the two observation points to lie on the equator at a height of km above the photosphere, at azimuths of and degrees. We plot the result in Fig. 1. The kernels were computed using Green’s functions with angular degrees from to , and frequencies from to mHz. The limitation on angular degrees arises from numerical artifacts in evaluating Green’s functions using the finite-difference scheme that was presented by Bhattacharya et al. (2020) that arise at higher degrees; however, this is not a fundamental limitation of this approach as Green’s functions computed using alternate numerical schemes may be used in its place to increase the accuracy (e.g., the finite-element scheme described by Gizon et al. (2017)).
We see that the components of the kernels may be significantly different if line-of-sight projections are not considered. While a simple relation between the differences in the kernels and the angular distance from the disk center is difficult to obtain, our tests indicate that the difference is significant for observation points closer to the solar limb, where the line-of-sight projection effects are increasingly important to account for.
4.2 Rotation of coordinates
Given two sets of points and that are related through a rotation, the bipolar spherical harmonics evaluated at these points are related through Equation (12). We made use of this in reverse by treating it as an active rotation of the points instead of as a passive rotation of coordinate frames. The Euler angles may be computed by expressing the rotation in terms of the points. We note that for the rotation maps to may be expressed as the product of two rotations, where the first — referred to as — maps to , and the second maps to . The operation of the first rotation may be represented as
(30) | ||||
(31) |
whereas the second one — referred to as — performs the transformation
(32) |
The point is an intermediate position that depends on the choice of . As an aside, we note that the choice of is not unique. To illustrate this, we denote a rotation in the axis-angle formulation for an axis and angle as . We see that the rotation for arbitrary and also map to . One choice for the rotation is .
The rotation may be denoted in the axis-angle formulation as , where satisfies
(33) | ||||
(34) |
Collectively, the rotation maps the set of points to . Given this rotation, we may use Equation (12) to evaluate the bipolar harmonics by transforming instead of an explicit evaluation.
We demonstrate the transformation of sensitivity kernels in Fig. 2 by choosing the pairs of points , , and . The solid line represents the kernels computed using Equation (2.2) for the points and , while the dots represent that computed by rotating the kernel components for and using Equation (12). The bottom panel of Fig. 2 depicts the absolute difference between the kernels computed using the two approaches, and the magnitude of the difference indicates that the error is almost purely numerical. The close match shows that the components of sensitivity kernels for line-of-sight projected wave velocities for points that are related through a rotation may be transformed among each other, and kernels for several pairs of points may be computed simultaneously. In the presence of center-to-limb factors that break spherical symmetry (e.g., differences in line-formation heights), such a transformation may only be carried out among pairs of points for which symmetry-breaking factors remain unchanged on rotation.

4.3 Evaluation time
The numerical implementation of the algorithm described in Bhattacharya (2020) has three parts — the first where the angular functions are computed, the second where the radial functions are evaluated, and the third where the products of the two are summed over. In this work, we described an approach to perform the first part more efficiently than before. We also improved upon the second and third parts by harnessing Julia’s loop vectorization capabilities. We demonstrate one comparison of the evaluation times in Fig. 3, where we plot the time required to evaluate the kernels using the line-of-sight projections of wave velocity and that using the radial component of wave velocity with the maximum angular degree up to which which the kernels are evaluated. We used Green’s functions corresponding to wave numbers in the to range and frequency in the mHz to mHz range uniformly divided over bins. The relative difference between the evaluation times using line-of-sight projected velocities and that using radial velocities decreases with an increase in the cutoff in angular degree, reaching at . The absolute difference using is hours of computation time. The timings were measured on Intel Xeon CPU E5-2680 v4 cores running at GHz.

5 Discussion and conclusions
In this work, we improved upon the previous work by Bhattacharya (2020) to evaluate helioseismic sensitivity kernels for travel-time shifts computed using line-of-sight projected seismic wave velocities. The ability to transform between kernels for pairs of points that are related by a rotation may be helpful if one is interested in inverting for averaged travel times to improve the signal-to-noise ratio. The Julia implementation of the approach presented in this work is available freely under the MIT license 444https://github.com/jishnub/HelioseismicKernels.jl. The modular structure of the code ensures that parts of the entire project, such as vector spherical harmonics, bipolar spherical harmonics, or Wigner D-matrices, may be reused by other projects as necessary. The code developed is embarrassingly parallel in wave modes and temporal frequency and uses the message passing interface (MPI) for communication between processes, so it may be directly run on computing clusters to evaluate sensitivity kernels.
In this work, we did not focus on the impact of the differences in line-formation heights on the sensitivity kernels, although it is expected to play a part in observed travel-time differences as well (Zhao & Chen, 2020). While this may also be incorporated into our approach, it requires a more careful modeling of the observation heights and the atmospheric boundary condition experienced by seismic waves. Further refinements in this direction might be possible. We also assumed that the wave excitation occurs at one specific radius, while in reality the excitation is perhaps spread over a radial range. A different model of source covariance following Gizon et al. (2017) might be used to obtain a better match to observations, although this would significantly increase the computational burden. Furthermore, the temporal spectrum of the source covariance was chosen arbitrarily in this work to be a Gaussian centered at mHz, although a better profile may be obtained from the spectral envelope of the observed wave covariances.
Acknowledgements.
This work was supported by NYUAD Institute Grant G1502 ”NYUAD Center for Space Science”. This research was carried out on the High-Performance Computing resources at New York University Abu Dhabi.References
- Bezanson et al. (2017) Bezanson, J., Edelman, A., Karpinski, S., & Shah, V. 2017, SIAM Review, 59, 65
- Bhattacharya (2020) Bhattacharya, J. 2020, ApJ, 905, 59
- Bhattacharya et al. (2020) Bhattacharya, J., Hanasoge, S. M., & Sreenivasan, K. R. 2020, ApJ, 895, 117
- Böning et al. (2016) Böning, V. G. A., Roth, M., Zima, W., Birch, A. C., & Gizon, L. 2016, ApJ, 824, 49
- Dahlen & Tromp (1998) Dahlen, F. A. & Tromp, J. 1998, Theoretical Global Seismology (Princeton University Press)
- Feng et al. (2015) Feng, X. M., Wang, P., Yang, W., & Jin, G. R. 2015, Phys. Rev. E, 92, 043307
- Fournier et al. (2018) Fournier, D., Hanson, C. S., Gizon, L., & Barucq, H. 2018, A&A, 616, A156
- Gizon et al. (2017) Gizon, L., Barucq, H., Duruflé, M., et al. 2017, A&A, 600, A35
- Gizon & Birch (2002) Gizon, L. & Birch, A. C. 2002, ApJ, 571, 966
- Hansen (1935) Hansen, W. W. 1935, Phys. Rev., 47, 139
- James (1976) James, R. W. 1976, Philosophical Transactions of the Royal Society of London Series A, 281, 195
- Johansson & Forssén (2016) Johansson, H. T. & Forssén, C. 2016, SIAM Journal on Scientific Computing, 38, A376
- Limpanuparb & Milthorpe (2014) Limpanuparb, T. & Milthorpe, J. 2014, arXiv e-prints, arXiv:1410.1748
- Luscombe & Luban (1998) Luscombe, J. H. & Luban, M. 1998, Phys. Rev. E, 57, 7274
- Mandal et al. (2017) Mandal, K., Bhattacharya, J., Halder, S., & Hanasoge, S. M. 2017, ApJ, 842, 89
- Phinney & Burridge (1973) Phinney, R. A. & Burridge, R. 1973, Geophysical Journal, 34, 451
- Varshalovich et al. (1988) Varshalovich, D. A., Moskalev, A. N., & Khersonskii, V. K. 1988, Quantum Theory of Angular Momentum (World Scientific Publishing Co)
- Wieczorek & Meschede (2018) Wieczorek, M. A. & Meschede, M. 2018, Geochemistry, Geophysics, Geosystems, 19, 2574
- Zhao & Chen (2020) Zhao, J. & Chen, R. 2020, Astrophysics and Space Science Proceedings, 57, 123
Appendix A Vector spherical harmonics
We numerically evaluated the vector spherical harmonics following Equation (24). We list the components of the VSH in the spherical basis, as detailed by Varshalovich et al. (1988):
(35) | ||||
(36) | ||||
(37) | ||||
(38) | ||||
(39) | ||||
(40) | ||||
(41) | ||||
(42) | ||||
(43) |
The spherical harmonics are zero for indices that do not satisfy .