harmonica.filters.reduction_to_pole_kernel

harmonica.filters.reduction_to_pole_kernel#

harmonica.filters.reduction_to_pole_kernel(fft_grid, inclination, declination, magnetization_inclination=None, magnetization_declination=None)[source]#

Filter for reduction to the pole in frequency domain

Return a xarray.DataArray with the values of the frequency domain filter for applying a reduction to the pole on magnetic data. The filter is built upon the frequency coordinates of the passed fft_grid and is defined as follows:

\[g(\mathbf{k}) = \frac{1}{\Theta_m \Theta_f}\]

with

\[\Theta_m = m_z + i \frac{m_e k_e + m_n k_n}{|\mathbf{k}|}\]
\[\Theta_f = f_z + i \frac{f_e k_e + f_n k_n}{|\mathbf{k}|}\]

where \(\hat{\mathbf{f}} = (f_e, f_n, f_z)\) is a unit vector parallel to the geomagnetic field and \(\hat{\mathbf{m}} = (m_e, m_n, m_z)\) is a unit vector parallel to the magnetization vector of the source. The \(f_e\), \(f_n\), \(m_e\), \(m_n\) are the easting and northing components while the \(f_z\) and \(m_z\) are the downward coordinates. Each of these components can be obtained from the inclination and declination angles of the geomagnetic field (\(I\) and \(D\), respectively) and for the magnetization vector (\(I_m\) and \(D_m\), respectively):

\[\begin{split}\begin{cases} f_e = \sin D \cos I \\ f_n = \cos D \cos I \\ f_u = \sin I \end{cases}\end{split}\]
\[\begin{split}\begin{cases} m_e = \sin D_m \cos I_m \\ m_n = \cos D_m \cos I_m \\ m_u = \sin I_m \end{cases}\end{split}\]
Parameters:
fft_gridxarray.DataArray

Array with the Fourier transform of the original grid. Its dimensions should be in the following order: freq_northing, freq_easting. Use xrft.xrft.fft and xrft.xrft.ifft functions to compute the Fourier Transform and its inverse, respectively.

inclinationfloat in degrees

The inclination of the inducing Geomagnetic field.

declinationfloat in degrees

The declination of the inducing Geomagnetic field.

magnetization_inclinationfloat in degrees or None

The inclination of the total magnetization of the anomaly source. If None, the magnetization_inclination will be set equal to the inclination, neglecting remanent magnetization and self demagnetization. Default None.

magnetization_declinationfloat in degrees

The declination of the total magnetization of the anomaly source. If None, the magnetization_declination will be set equal to the declination, neglecting remanent magnetization and self demagnetization. Default None.

Returns:
da_filterxarray.DataArray

Array with the kernel for the reduction to the pole filter in frequency domain.

References

[Blakely1995]