1 Introduction

The reconstruction of subsurface physical property distribution in terms of density can be obtained by quantitatively interpreting measured gravity data when one is engaged in an exploration program. The inverse gravity problem, aiming at finding a model that fits the observed data to an acceptable degree, is mathematically ill-posed (Fedi & Rapolla, 1999), so regularization must be considered to deal with the non-uniqueness and instability of the inverse problem (Boulanger & Chouteau, 2001; Čuma et al., 2012). The introduction of regularization involves a choice of a particular model criterion with expected model features. Over the past several decades, researchers have proposed a variety of regularization methods for inversion of potential field data (Lelièvre et al., 2009; Li & Oldenburg, 1998; Marchetti et al., 2014; Meng, 2018; Peng et al., 2018a; Pilkington, 2009; Portniaguine & Zhdanov, 1999, 2002). Among the various methods, the regularization based on minimum norm or maximum smoothness has often been employed in field gravity data inversion, producing a smeared-out density model. However, this regularization may not be appropriate for cases where anomalous bodies exist in blocky patterns.

To deal with the above-mentioned problem, various efforts have been made to develop non-smooth inversion methods for reconstructing geologically meaningful models with blocky characteristics. Among them, the inversion of potential field data with Lp-norm model regularization has been reported in the literature (Farquharson, 2008; Li et al., 2019). In order to numerically resolve these inversion problems, different approximations to the Lp-norm regularization item of the objective function have been made for a stable solution process (Kirkendall et al., 2007; Sun & Li, 2014). In addition, functionals with the function of compactness constraint are often adopted as the stabilizer in the non-smooth inversion. Last and Kubik (1983) first presented a compact gravity inversion method based on minimizing the extent of causative density distribution. Portniaguine and Zhdanov (1999) extended this idea to the gradient of a density model and implemented a focusing inversion approach. However, a careful choice of the focusing parameter involved in these two methods is required for a successful focusing inversion. Bertete-Aguirre et al. (2002) and Vatankhah et al. (2018) formulated a gravity inversion problem using the total variation (TV) functional as the regularization term of the objective function, which enforces sparse constraints on the gradient of model parameters and is equivalent to the L1-norm of the model gradient. For a focusing inversion of gravity or magnetic data, Zhao et al. (2016) considered a stabilizing functional on the basis of exponential variation of model parameters. This stabilizing functional does not demand a focusing parameter but yields the inversion result with a long tail at the bottom of the anomalous body. The zero-order minimum entropy stabilizing functional was exploited by Rezaie (2019) to capture sharp boundaries of reconstructed density models.

In this paper, we present a focusing inversion approach based on an arctangent stabilizing functional. The arctangent-function-based stabilizing functional is first reformulated in pseudo-quadratic form as a weighting matrix. The Gauss Newton (GN) minimization scheme is then employed to perform an optimization process. The efficiency of this proposed approach is demonstrated through two synthetic data examples and one field data example.

2 Inversion Method

2.1 Forward Modeling

The mesh for gravity forward modeling is generated by discretizing the model space into a group of uniform rectangular cells, each with a constant value of density contrast. According to Blakely (1995), the modeled gravity data at the surface can be written in compact form as

$$ {\mathbf{Gm}} = {\mathbf{d}}, $$
(1)

where \({\mathbf{d}}\) is the data vector consisting of gravity observations, \({\mathbf{m}}\) is the density model vector, and \({\mathbf{G}}\) is the forward modeling operator mapping from the contribution of each cell with unit density to each gravity measurement.

2.2 Inversion Algorithm

In order to quantitatively interpret the observed gravity data, an objective function to be minimized needs to be built, which includes the data misfit and model misfit terms. The data misfit term controls the degree to which the inversion result produces a fit to the observed data, whereas the model misfit term dominates some preferred characteristics of the recovered density distribution. Typically, the objective function based on L2-norm model regularization is formulated as

$$ \Phi \left( {\mathbf{m}} \right) = \left\| {{\mathbf{W}}_{d} \left( {{\mathbf{d}}^{obs} - {\mathbf{Gm}}} \right)} \right\|_{2}^{2} + \gamma \left\| {{\mathbf{W}}_{m} \left( {{\mathbf{m}} - {\mathbf{m}}_{ref} } \right)} \right\|_{2}^{2} , $$
(2)

where \(\left\| \cdot \right\|_{2}\) denotes L2-norm measure of a vector, \({\mathbf{d}}^{obs}\) is the observed gravity data, \({\mathbf{W}}_{d}\) is the data weighting matrix consisting of the estimation of standard deviation of measurement error, which is diagonal when measurement errors are not correlated with each other, \({\mathbf{m}}_{ref}\) is the reference model containing the a priori density information and is set to be \({\mathbf{m}}_{ref} = {\mathbf{0}}\) in this paper, \({\mathbf{W}}_{m} = diag\left\{ {{1 \mathord{\left/ {\vphantom {1 {z_{1} ,{1 \mathord{\left/ {\vphantom {1 {z_{2} ,}}} \right. \kern-\nulldelimiterspace} {z_{2} ,}} \cdots ,{1 \mathord{\left/ {\vphantom {1 {z_{M} }}} \right. \kern-\nulldelimiterspace} {z_{M} }}}}} \right. \kern-\nulldelimiterspace} {z_{1} ,{1 \mathord{\left/ {\vphantom {1 {z_{2} ,}}} \right. \kern-\nulldelimiterspace} {z_{2} ,}} \cdots ,{1 \mathord{\left/ {\vphantom {1 {z_{M} }}} \right. \kern-\nulldelimiterspace} {z_{M} }}}}} \right\}\) is the depth weighting matrix where \(z_{j}\) is the depth of the center of the jth cell (Peng et al., 2018b), and \(\gamma\) is the regularization parameter controlling the relative contribution of the data fit and model regularization items to the total objective function.

In this study, we consider a compactness constraint constructed with an arctangent function, by which the sharp boundaries of subsurface structures can be recovered. This stabilizing functional can be written as

$$ s\left( {\mathbf{m}} \right) = \int_{V} {\arctan \sqrt {m^{2} + \beta^{2} } {\text{d}}v} , $$
(3)

where \(V\) indicates the model domain, and the value of \(\beta\) is very small so that it can prevent this functional from being non-differentiable at zero. Regarding the details of the use of the arctangent functional as a stabilizing functional, the reader can refer to Appendix A in Hu et al. (2017). It is worth mentioning that the arctangent functional is simple and efficient for focusing inversion of gravity data because there is no requirement for a focusing parameter.

The stabilizing functional can be rewritten in pseudo-quadratic form as (Zhdanov, 2015)

$$ s\left( {\mathbf{m}} \right) = \left\| {{\mathbf{W}}_{e} {\mathbf{m}}} \right\|_{2}^{2} , $$
(4)

where \({\mathbf{W}}_{e}\) is the diagonal matrix which is dependent of model \({\mathbf{m}}\) and can be expressed as

$$ {\mathbf{W}}_{e} = diag\left( {\sqrt {\frac{{\arctan \sqrt {m^{2} + \beta^{2} } }}{{m^{2} + \varepsilon^{2} }}} } \right), $$
(5)

where \(\varepsilon\) is a very small constant.

Based on the stabilizing functional introduced above, the objective function for focusing gravity inversion will be built as

$$ \Phi \left( {\mathbf{m}} \right) = \left\| {{\mathbf{W}}_{d} \left( {{\mathbf{d}}^{obs} - {\mathbf{Gm}}} \right)} \right\|_{2}^{2} + \gamma \left\| {{\mathbf{W}}_{m} {\mathbf{W}}_{e} \left( {{\mathbf{m}} - {\mathbf{m}}_{{{\text{ref}}}} } \right)} \right\|_{2}^{2} , $$
(6)

where the meanings of the parameters involved are the same as those in Eq. (2).

To obtain the solution to Eq. (6), first let \({\tilde{\mathbf{m}}} = {\mathbf{W}}_{m} {\mathbf{W}}_{e} \left( {{\mathbf{m}} - {\mathbf{m}}_{{{\text{ref}}}} } \right)\),\({\tilde{\mathbf{d}}}^{{{\text{obs}}}} = {\mathbf{W}}_{d} \left( {{\mathbf{d}}^{{{\text{obs}}}} - {\mathbf{Gm}}_{{{\text{ref}}}} } \right)\), and \({\tilde{\mathbf{G}}} = {\mathbf{W}}_{d} {\mathbf{GW}}_{m}^{ - 1}\), Eq. (6) could be further written in the transformed domain as

$$ \Phi \left( {{\tilde{\mathbf{m}}}} \right) = \left\| {{\tilde{\mathbf{d}}}^{{{\text{obs}}}} - {\tilde{\mathbf{G}}\mathbf{W}}_{e}^{ - 1} {\tilde{\mathbf{m}}}} \right\|_{2}^{2} + \lambda \left\| {{\tilde{\mathbf{m}}}} \right\|_{2}^{2} . $$
(7)

The GN minimization framework is then employed to give the minimization process of Eq. (7). At the kth iteration, the corresponding normal equation for solving for model update is

$$ {\mathbf{H}}^{k} \Delta {\tilde{\mathbf{m}}}^{k} = - {\mathbf{g}}^{k} , $$
(8)

where \(\Delta {\tilde{\mathbf{m}}}^{k}\) is the model update in the transformed domain, \({\mathbf{g}}^{k}\) represents the gradient of Eq. (7) shown by

$$ {\mathbf{g}}^{k} = - \left( {{\tilde{\mathbf{G}}}\left( {{\mathbf{W}}_{e}^{k} } \right)^{ - 1} } \right)^{T} \left( {{\tilde{\mathbf{d}}}^{{{\text{obs}}}} - {\tilde{\mathbf{G}}}\left( {{\mathbf{W}}_{e}^{k} } \right)^{ - 1} {\tilde{\mathbf{m}}}^{k - 1} } \right) + \lambda {\tilde{\mathbf{m}}}^{k - 1} , $$
(9)

and \({\mathbf{H}}^{k}\) stands for the Hessian matrix of Eq. (7) shown by

$$ {\mathbf{H}}^{k} = \left( {{\mathbf{G}}\left( {{\mathbf{W}}_{e}^{k} } \right)^{ - 1} } \right)^{T} {\mathbf{G}}\left( {{\mathbf{W}}_{e}^{k} } \right)^{ - 1} + \lambda {\mathbf{I}}, $$
(10)

where \({\mathbf{I}}\) is the identity matrix. Due to the dependence of the matrix \({\mathbf{W}}_{e}^{k}\) on model parameters \({\tilde{\mathbf{m}}}^{k - 1}\), it is updated as iteration process proceeds. The model change \(\Delta {\tilde{\mathbf{m}}}\) is obtained by solving Eq. (8) using conjugate gradient (CG) algorithm. We get an updated model in the following way,

$$ {\tilde{\mathbf{m}}}^{k} = {\tilde{\mathbf{m}}}^{k - 1} + \alpha_{k} \Delta {\tilde{\mathbf{m}}}^{k} , $$
(11)

where \(\alpha_{k}\) is the step length. Then the solution in the original space can be generated by

$$ {\mathbf{m}}^{k} = \left( {{\mathbf{W}}_{e}^{k} } \right)^{ - 1} {\mathbf{W}}_{m}^{ - 1} {\tilde{\mathbf{m}}}^{k} . $$
(12)

In order to avoid the occurrence of a geologically meaningless density model, bound constraints from available a priori knowledge need to be imposed on the updated model in the iteration procedure.

The iterative process stops when one of the following conditions appears: (1) the data misfit decreases to the target data misfit, (2) the relative model change is less than a prescribed value, and (3) the number of iterations exceeds the predefined maximum number.

2.3 Choice of Regularization Parameter

For an efficient and automatic determination of the regularization parameter, we utilize a cooling scheme to derive a regularization parameter in the iteration, that is,

$$ \gamma_{k} = \frac{1}{{2^{k} }}\gamma_{1} ,k > 1, $$
(13)

where \(\gamma_{1}\) is an initial value of regularization parameter which is defined as

$$ \gamma_{1} = \frac{{\left\| {{\tilde{\mathbf{d}}}^{{{\text{obs}}}} - {\tilde{\mathbf{G}}\mathbf{W}}_{e}^{ - 1} {\tilde{\mathbf{m}}}^{1} } \right\|_{2}^{2} }}{{\left\| {{\tilde{\mathbf{m}}}^{1} } \right\|_{2}^{2} }}, $$
(14)

where \({\tilde{\mathbf{m}}}^{1}\) is obtained without regularization (\(\gamma_{0} = 0\)) at the first iteration.

3 Test of Synthetic Data

For synthetic data examples, we consider two models with different anomalous bodies to demonstrate the proposed approach. Because the diagonal matrix \({\mathbf{W}}_{e}\) expressed by Eq. (5) needs to be provided with two parameters \(\beta\) and \(\varepsilon\), we set \(\beta = 1.0 \times 10^{ - 8}\) and \(\varepsilon = 1.0 \times 10^{ - 8}\) for these two synthetic examples.

3.1 Model 1

The first synthetic model shown in Fig. 1 contains two rectangular blocks present in a homogeneous medium. The dimensions of this synthetic model are 1000 m × 600 m × 500 m in the x-, y-, and z-directions, respectively. The density contrast of these two blocks is the same and assigned to 1.0 g/cm3. The left and right blocks range from 200 to 400 m and from 600 to 800 m in the x-direction, respectively. These two blocks range from 200 to 400 m in the y-direction, and from 100 to 200 m in the z-direction. The gravity data are collected over the surface with a sample spacing grid of 25 m × 20 m in the x- and y-directions, respectively, resulting in 39 × 29 = 1131 measurement points. To simulate noisy gravity data, we add zero-mean Gaussian random noise with a standard deviation equal to 3% of the absolute value of the calculated true gravity data (Fig. 2).

Fig. 1
figure 1

The 3D view of the synthetic model with two rectangular blocks

Fig. 2
figure 2

The synthetic gravity data contaminated with 3% Gaussian noise

For inversion, the model region is discretized into 40 × 30 × 25 = 30,000 grid cells, each of which is 25 m × 20 m × 20 m in the x-, y-, and z-directions. We set the lower and upper bound constraints to be 0.0 g/cm3 and 1.0 g/cm3, respectively. In Fig. 3, the horizontal plane is extracted from the inverted 3D density data at a depth of 150 m, whereas the vertical cross section is extracted along the x-direction at y = 300 m, in which black solid lines indicate the true boundaries of the two blocks. One can see that the proposed inversion method can give a satisfactory reconstruction of the synthetic model. Specifically, these two blocks are well defined at their real positions of the designed true blocks, clearer boundaries exist in the recovered model, and the inverted values of density are also closer to the true values. Figure 4a displays the calculated gravity data obtained by computing the gravity response of the recovered model. The difference between the calculated and synthetic data is shown in Fig. 4b, illustrating that the recovered model yields good data fitting for the synthetic data. In Fig. 5 we also show the convergence curve of the data misfit as a function of iteration number. It can be observed that after 90 iterations, the inversion procedure stops and has a good convergence. Table 1 shows the statistics of absolute error of the recovered model and predicted gravity data in terms of average error, maximum error, and standard deviation. As can be seen from this table, the proposed method can obtain a satisfactory density model within an acceptable tolerance. Note also that the maximum error of the recovered model is large because the inverted density value of some cells near the border of the blocks is small.

Fig. 3
figure 3

a Horizontal slice and b vertical section of inverted density model. Black solid lines indicate the real borders of the two blocks

Fig. 4
figure 4

a The predicted gravity data from the recovered model and b the difference between the predicted and observed data

Fig. 5
figure 5

The convergence curve of the data misfit

Table 1 The statistics of absolute error of recovered model and predicted data

3.2 Model 2

In this section, we test the proposed method on a geometrically complex model containing a dipping dike body, which is displayed in Fig. 6. The size of the synthetic model is 600 m × 600 m × 400 m. The top of the dipping dike body is placed at 40 m below the surface. The width of the dipping dike body is 100 m in the x-direction and has a downward stretch of 120 m. The density contrast of the dipping dike body is set to 1.0 g/cm3. The gravity data are gathered on the surface at a spacing of 20 m along the x-direction lines spaced 20 m apart, yielding 29 × 29 = 841 observed points. To simulate noise-contaminated gravity data, zero-mean Gaussian random noise with a standard deviation equal to 3% of the absolute value of the calculated gravity field is added to the true gravity data (Fig. 7).

Fig. 6
figure 6

The 3D view of the synthetic model with a dipping dike body

Fig. 7
figure 7

The synthetic gravity data corrupted with 3% Gaussian noise

For inversion, the model region is discretized into 30 × 30 × 20 = 18,000 grid cells with a uniform cell spacing of 20 m in the x-, y-, and z-directions. We set the lower and upper bound constraints to be 0.0 g/cm3 and 1.0 g/cm3, respectively. In Fig. 8, the horizontal plane is extracted from the inverted 3D density data at a depth of 50 m, whereas the vertical cross section is extracted along the x-direction at y = 300 m, in which black solid lines indicate the true boundaries of the dipping dike body. As can be seen from Fig. 8, the recovered model presents good agreement with the synthetic true model. The target dike body is well defined in both horizontal and vertical locations, with clearer boundaries appearing in the reconstructed model and the inverted values of density also comparable to the true values. Figure 9a illustrates the calculated gravity data obtained by computing the gravity response of the recovered model. The difference between the calculated and synthetic data is indicated in Fig. 9b, from which it can be observed that although the predicted data matches the inverted gravity data to a certain extent, the difference in the center of the survey area is slightly large and spatially correlated. The appearance of this behavior may result from the non-smoothness of the noisy gravity data, which makes good data fitting for the inversion procedure difficult, especially for the data measured just above the anomalous body. The convergence curve of the data misfit as a function of iteration number is also displayed in Fig. 10, from which we can see that after 153 iterations, the inversion procedure stops and has good convergence. The statistics of absolute error of the recovered model and predicted gravity data in terms of average error, maximum error, and standard deviation are also summarized in Table 2. It can be seen from this table that the proposed method obtains a satisfactory density model within an allowable error. Note also that the maximum error of the recovered model is large because the inverted density value of some cells near the border of the blocks is very small.

Fig. 8
figure 8

a Horizontal slice and b vertical section of inverted density model. Black solid lines indicate the real borders of the dipping dike body

Fig. 9
figure 9

a The predicted gravity data from the recovered model and b the difference between the predicted and observed data

Fig. 10
figure 10

The convergence curve of the data misfit

Table 2 The statistics of absolute error of recovered model and predicted data

4 Application to Field Data

For the sake of illustrating the performance of the presented approach on real data, we conduct a test of real gravity data collected in the San Nicolas deposit, Zacatecas State, Mexico. The San Nicolas deposit is a volcanogenic massive sulfide deposit that contains zinc and copper minerals. The ore deposit is surrounded by felsic-mafic volcanic rocks which are overlaid by the Tertiary volcaniclastic breccia, the depth of which varies from 50 to 150 m (Phillips et al., 2001). The ore deposit is bounded towards the east by a fault that is inclined in the southwest direction. Due to mineralization, a small keel structure is generated along that fault.

In the study area, the largest density value of the sulfide ore body reaches 3.5 g/cm3, whereas the density of its surrounding rock changes from 2.3 to 2.7 g/cm3. Thus the maximum difference in the density value between the sulfide ore body and its surrounding rock can approach 1.2 g/cm3 (Phillips et al., 2001), which makes it possible for the massive sulfide body to be directly detected via gravity prospecting. The residual gravity anomaly of the study area is shown in Fig. 11, in which black triangles represent measurement positions.

Fig. 11
figure 11

The residual gravity anomaly of study area. Black triangles denote gravity measurement points

The mesh for inverting the field gravity data is created by discretizing the subsurface region of the study area into 43 × 36 × 20 = 30,960 rectangular cells, each of which is 50 m × 50 m × 50 m. We also set \(\beta = 1.0 \times 10^{ - 8}\) and \(\varepsilon = 1.0 \times 10^{ - 8}\) for this real data example. According to the a priori information available, we set the lower and upper bound constraints to be − 0.1 g/cm3 and 1.2 g/cm3, respectively. In Fig. 12a, the predicted gravity data is generated by calculating the gravity response of the inverted model. Figure 12b displays the difference between the predicted and measured data, illustrating that the reconstructed model gives an acceptable data fitting for the measured data. In Fig. 13a, the horizontal slice is extracted from the inverted 3D density model at the depth of 300 m, in which the high density in the center indicates the existence of massive sulfide ore body and the other the high density in the northeast results from the mafic volcanic rocks (Phillips et al., 2001). Figure 13b, c illustrates the two vertical slices along the N1–N2 profile and the E1–E2 profile as denoted in Fig. 11, respectively, in which the black solid lines indicate the real boundaries of the ore body. Based on the drilling information available, it can be known that the buried depth of the top of the massive sulfide ore body ranges from 150 to 220 m below the surface, and the ore body has a downward extension to 400–450 m below the surface (Phillips et al., 2001). It can be observed from Fig. 13 that the proposed inversion method can recover the massive sulfide ore body at its true depth. Also, the reconstructed ore body shows good consistency with the real boundaries of the ore body.

Fig. 12
figure 12

a The predicted gravity data from the reconstructed model and b the difference between the predicted and observed data

Fig. 13
figure 13

Slices of the density model reconstructed with the proposed method. a Horizontal slice at depth = 300 m. b Vertical slice along the line E1–E2 as shown in Fig. 11. c Vertical slice along the line N1–N2 as shown in Fig. 11. Black solid lines indicate the true boundaries of the ore body

5 Conclusions

Based on an arctangent stabilizing functional, we have developed a 3D focusing inversion method for gravity data. The inversion results of synthetic examples demonstrate that the developed inversion approach can yield a focusing imaging of density distribution, with clearer boundaries existing in the inverted model and the density values also closer to the true model. Furthermore, the application of the inversion method to the real gravity data reconstructs a subsurface density model which shows good consistency with the known drilling and geologic information. The test of synthetic and real data demonstrates that \(\beta = 1.0 \times 10^{ - 8}\) and \(\varepsilon = 1.0 \times 10^{ - 8}\) can produce a satisfactory density model. Therefore, it is not necessary to determine in advance two optimum parameters involved in the stabilizing functional.