<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Archiving and Interchange DTD v2.3 20070202//EN" "archivearticle.dtd">
<article article-type="methods-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Earth Sci.</journal-id>
<journal-title>Frontiers in Earth Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Earth Sci.</abbrev-journal-title>
<issn pub-type="epub">2296-6463</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1625616</article-id>
<article-id pub-id-type="doi">10.3389/feart.2025.1625616</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Earth Science</subject>
<subj-group>
<subject>Methods</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A high-precision and fast algorithm for three-dimensional magnetic anomalies on undulating terrain</article-title>
<alt-title alt-title-type="left-running-head">Jing et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/feart.2025.1625616">10.3389/feart.2025.1625616</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Jing</surname>
<given-names>Lei</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1853035/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Du</surname>
<given-names>Bingrui</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Qiu</surname>
<given-names>Longjun</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Xu</surname>
<given-names>Menglong</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Su</surname>
<given-names>Zhenning</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Shi</surname>
<given-names>Suli</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>State Key Laboratory of Deep Earth Exploration and Imaging</institution>, <addr-line>Tianjin</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Institute of Geophysical and Geochemical Exploration</institution>, <institution>Chinese Academy of Geological Sciences</institution>, <addr-line>Tianjin</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>The National Center for Geological Exploration Technology</institution>, <addr-line>Tianjin</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1890283/overview">Dhananjay Ravat</ext-link>, University of Kentucky, United States</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1923938/overview">Henglei Zhang</ext-link>, China University of Geosciences, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/3067441/overview">David Clark</ext-link>, CSIRO Manufacturing, Australia</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Lei Jing, <email>lebesgue@126.com</email>; Bingrui Du, <email>dbingrui@mail.cgs.gov.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>18</day>
<month>08</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>13</volume>
<elocation-id>1625616</elocation-id>
<history>
<date date-type="received">
<day>09</day>
<month>05</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>23</day>
<month>07</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2025 Jing, Du, Qiu, Xu, Su and Shi.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Jing, Du, Qiu, Xu, Su and Shi</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>This study addresses the challenge of efficiently and accurately computing three-dimensional undulating surface magnetic field data, which has become increasingly difficult with the development of airborne magnetic survey technologies. To solve this problem, we propose a new computational method that is both efficient and highly precise. This method utilizes a planar three-dimensional fast-forward algorithm to calculate multiple planar magnetic fields at different heights, followed by local continuation combined with trilinear interpolation to achieve an accurate conversion from planar magnetic fields to undulating surface magnetic fields. This enables the completion of three-dimensional high-precision fast forward calculations that can then be applied to the inversion algorithm to calculate the distribution of the three-dimensional magnetization rate. Multiple model examples were tested to verify the accuracy and efficiency of the proposed method.</p>
</abstract>
<kwd-group>
<kwd>undulating surface</kwd>
<kwd>magnetic field</kwd>
<kwd>local interpolation</kwd>
<kwd>three-dimensional inversion</kwd>
<kwd>high-precision</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Solid Earth Geophysics</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>The magnetic method is a well-developed and widely applied geophysical exploration technique, with extensive use in mineral exploration, engineering geological surveying, geological mapping, and deep structural research (<xref ref-type="bibr" rid="B19">Prutkin and Saleh, 2009</xref>; <xref ref-type="bibr" rid="B7">Eppelbaum, 2011</xref>; <xref ref-type="bibr" rid="B12">Li and Oldenburg, 2010</xref>; <xref ref-type="bibr" rid="B5">David et al., 2019</xref>; <xref ref-type="bibr" rid="B10">Kirkby and Duan, 2019</xref>). Quantitative interpretation of magnetic anomalies faces challenges in the forward modeling and inversion of three-dimensional magnetic susceptibility models (<xref ref-type="bibr" rid="B1">Bhattacharyya, 1964</xref>; <xref ref-type="bibr" rid="B2">Bhattacharyya, 1980</xref>; <xref ref-type="bibr" rid="B14">Li and Oldenburg, 1996</xref>; <xref ref-type="bibr" rid="B16">Pilkington, 1997</xref>; <xref ref-type="bibr" rid="B17">Pilkington, 2008</xref>; <xref ref-type="bibr" rid="B13">Li and Sun, 2016</xref>; <xref ref-type="bibr" rid="B15">Liu et al., 2018</xref>). However, owing to the significant computational resource requirements, the efficiency of three-dimensional inversion is limited, which hampers its widespread application (<xref ref-type="bibr" rid="B18">Portniaguine and Zhdanov, 2000</xref>; <xref ref-type="bibr" rid="B6">Davis and Li, 2013</xref>; <xref ref-type="bibr" rid="B21">Rezaie et al., 2017</xref>).</p>
<p>Recently, researchers have proposed enhanced methodologies and targeted computational strategies to address this issue. When the observation point is situated on a regular grid in the plane, significant reductions in the computational and storage requirements can be achieved through equivalent calculations based on the symmetry of the geometric framework (<xref ref-type="bibr" rid="B22">Shengxian et al., 2018</xref>). Building on this foundation, further optimization algorithms have been developed by leveraging the fast Fourier Transform (FFT) to execute convolution operations in the spatial domain via multiplication operations in the frequency domain. These algorithms optimize both spatial computation accuracy and frequency-domain computation speed (<xref ref-type="bibr" rid="B3">Chen and Liu, 2019</xref>; <xref ref-type="bibr" rid="B9">Jing et al., 2019</xref>; <xref ref-type="bibr" rid="B8">Hogue et al., 2019</xref>; <xref ref-type="bibr" rid="B25">Yuan et al., 2022</xref>), enabling efficient and accurate three-dimensional forward and inversion computation.</p>
<p>When the observation point is situated on an undulating observation surface, the symmetry between the observation point and field source is disrupted, rendering direct utilization of the aforementioned algorithm unfeasible. To improve computational efficiency, <xref ref-type="bibr" rid="B26">Zheng et al. (2019)</xref> enhanced Parker&#x2019;s formula in the wavenumber domain, achieving rapid and high-precision gravity forward modeling on undulating interfaces, as well as fast and accurate gravity forward simulation of density interface models with topography. In the spatial wavenumber domain, a numerical simulation algorithm for gravity anomalies based on an arbitrary Fourier transform using quadratic interpolation functions was developed; CPU-GPU acceleration was employed to further amplify the advantages of three-dimensional gravity anomaly forward modeling in this domain (<xref ref-type="bibr" rid="B4">Dai et al., 2024</xref>). In terms of spatial domain calculations, multiple planar fields encompassing undulating surfaces were computed using efficient algorithms for forward modeling. The forward field values at any given observation points are obtained by using local interpolation techniques (<xref ref-type="bibr" rid="B11">Li et al., 2018</xref>; <xref ref-type="bibr" rid="B20">Qiang et al., 2019</xref>). Although <xref ref-type="bibr" rid="B11">Li et al. (2018)</xref> utilized a cubic spline interpolation method capable of achieving a precise conversion from a planar magnetic field to an undulating surface magnetic field, its non-linear nature poses challenges when directly applied to three-dimensional linear inversion.</p>
<p>This study proposes a high-precision local linear interpolation method to address the aforementioned issues. This method initially employs physically meaningful local extrapolation for interpolation, subsequently enhancing the accuracy of interpolation through trilinear interpolation correction. Integrating this composite linear interpolation approach with a rapid algorithm for the magnetic field plane facilitates the efficient forward and inverse computations of large-scale aeromagnetic data.</p>
</sec>
<sec sec-type="methods" id="s2">
<title>2 Methods</title>
<sec id="s2-1">
<title>2.1 Fast forward modeling algorithm for planar magnetic field</title>
<p>The underground space was assumed to be divided into <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> prism grid cells, where <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represent the number of grid divisions in the north and east, respectively, and <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the number of grid divisions in the vertical direction. The observed magnetic field on the surface consisted of <inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> observation points, each corresponding to a horizontal position on the prism cell (<xref ref-type="fig" rid="F1">Figure 1</xref>).</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>One-to-one correspondence between the spatial positions of the model unit grid and the measurement point grid.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g001.tif">
<alt-text content-type="machine-generated">Diagram showing a three-dimensional model unit grid with labeled x, y, and z axes. Above the grid is a dotted plane labeled &#x22;Observation point,&#x22; connected by vertical dashed lines to the grid below.</alt-text>
</graphic>
</fig>
<p>According to the theory of magnetic field forward modeling, the forward process can be represented by a filtering formula (<xref ref-type="disp-formula" rid="e1">Equation 1</xref>) that balances the spatial domain accuracy and frequency domain speed in the forward calculation (<xref ref-type="bibr" rid="B9">Jing et al., 2019</xref>).<disp-formula id="e1">
<mml:math id="m6">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext mathvariant="bold">VM</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">F</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:munderover>
<mml:mi mathvariant="bold">F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xb7;</mml:mo>
<mml:mi mathvariant="bold">F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where vector <inline-formula id="inf6">
<mml:math id="m7">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the forward modeling anomaly of the model with a dimension of <inline-formula id="inf7">
<mml:math id="m8">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf8">
<mml:math id="m9">
<mml:mrow>
<mml:mi mathvariant="bold">M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the magnetization intensity according to the forward formula, also with a dimension of <inline-formula id="inf9">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf10">
<mml:math id="m11">
<mml:mrow>
<mml:mi mathvariant="bold">V</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the forward operator that connects observation data <inline-formula id="inf11">
<mml:math id="m12">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and physical parameters <inline-formula id="inf12">
<mml:math id="m13">
<mml:mrow>
<mml:mi mathvariant="bold">M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, known as the forward coefficient matrix, which has a dimension of <inline-formula id="inf13">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf14">
<mml:math id="m15">
<mml:mrow>
<mml:mi mathvariant="bold">F</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the fast Fourier transform in the positive direction while <inline-formula id="inf15">
<mml:math id="m16">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">F</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> represents the fast Fourier transform in the inverse direction, <inline-formula id="inf16">
<mml:math id="m17">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (<inline-formula id="inf17">
<mml:math id="m18">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>m</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>)denotes the prism forward kernel matrix at depth k, and <inline-formula id="inf18">
<mml:math id="m19">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (<inline-formula id="inf19">
<mml:math id="m20">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>m</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>) refers to an extended matrix obtained by adding zeros to the magnetization intensity matrix at depth k. The symbol &#x201c;&#x2219;&#x201d; denotes the Hadamard product, representing element-wise multiplication between matrices of the same order. The derivation of <xref ref-type="disp-formula" rid="e1">Equation 1</xref> is detailed in <xref ref-type="sec" rid="s11">Supplementary Appendix A</xref>.</p>
<p>The first <inline-formula id="inf20">
<mml:math id="m21">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> elements in matrix <inline-formula id="inf21">
<mml:math id="m22">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represent the density matrix elements of the <italic>k</italic>th layer in the model while the remaining elements are set to zero. The first <inline-formula id="inf22">
<mml:math id="m23">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> elements in matrix <inline-formula id="inf23">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> correspond to the magnetic field response values at surface observation points for prism <inline-formula id="inf24">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> with index number <inline-formula id="inf25">
<mml:math id="m26">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> in the density matrix of the <italic>k</italic>th layer (with default starting index as 1). At this time, prism <inline-formula id="inf26">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> has a density set to the unit magnetization intensity. The remaining elements in matrix <inline-formula id="inf27">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are stored symmetrically with respect to index number <inline-formula id="inf28">
<mml:math id="m29">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="normal">M</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s2-2">
<title>2.2 Fast forward algorithm for magnetic anomaly of undulating surfaces</title>
<p>To calculate the magnetic field at any point on the undulating surface, we adopted a systematic approach calculates the magnetic field distribution on multiple horizontal planes by using a fast algorithm and deriving observation point through a local interpolation technique. There are many local interpolation methods, such as local upward continuation, inverse distance-weighted interpolation, trilinear interpolation, Kriging interpolation, and cubic spline. If only the accuracy of forward modeling is considered, the nonlinear interpolation method may have a higher calculation accuracy. However, when forward calculation is used for linear inversion calculations, the interpolation method should be linear interpolation. In this study, a composite interpolation method that combines local continuation and trilinear interpolation was adopted. The specific steps were as follows. First, multiple horizontal planes (<xref ref-type="fig" rid="F2">Figure 2</xref>) were selected as the calculation basis according to the terrain characteristics of the undulating observation surface. Multiple horizontal observation surfaces were arranged at equal intervals according to the longitudinal length of the underground space dissection grid. Such a setting enables the reuse of a large number of forward coefficient matrices, thereby saving considerable calculation time and storage space (<xref ref-type="bibr" rid="B11">Li et al., 2018</xref>).</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Schematic diagram of the relationship between the undulating observation surface and the horizontal observation surface.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g002.tif">
<alt-text content-type="machine-generated">Diagram showing an undulating observation surface with points marked as &#x22;Arbitrary observation point.&#x22; The surface is above horizontal lines labeled \( z_0 \), \( z_1 \), and \( z_n \), with vertical distance \( h \). Below, a grid contains a blue parallelogram labeled &#x22;Magnetic source.&#x22; The vertical distance on both sides is labeled \( dz \).</alt-text>
</graphic>
</fig>
<p>An efficient three-dimensional magnetic field fast forward algorithm (<xref ref-type="disp-formula" rid="e1">Equation 1</xref>) was then used to perform the magnetic field forward calculation to obtain accurate magnetic field distribution data on these planes. The magnetic field calculation formula (<xref ref-type="disp-formula" rid="e2">Equation 2</xref>) for multiple horizontal planes is as follows:<disp-formula id="e2">
<mml:math id="m30">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>where vector <inline-formula id="inf29">
<mml:math id="m31">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the magnetic fields on the multiple horizontal observation planes and its dimension is <inline-formula id="inf30">
<mml:math id="m32">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, i.e., the total number of observation points on multiple horizontal observation planes. Furthermore, <inline-formula id="inf31">
<mml:math id="m33">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the forward coefficient matrix for calculating the magnetic field values of multiple horizontal observation planes, whose dimension is <inline-formula id="inf32">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>M</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Finally, a high-precision local interpolation algorithm was adopted. The idea of the local interpolation algorithm (<xref ref-type="disp-formula" rid="e3">Equation 3</xref>) is as follows. First, the limited planar measuring points below the undulating surface measuring points were utilized to calculate the magnetic field values of the undulating surface measuring points and the eight corner points around the measuring points through upward continuation. Subsequently, based on the difference between the corner values calculated by continuation and those calculated by forward modeling, trilinear interpolation was used to calculate the magnetic field correction value at the undulating surface measuring point. Finally, the continuation and correction values were summed to obtain the magnetic field value of the undulating surface. The local interpolation formula can be expressed as follows:<disp-formula id="e3">
<mml:math id="m35">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold">P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>where vector <inline-formula id="inf33">
<mml:math id="m36">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the magnetic field on the undulating surface, whose dimension is <inline-formula id="inf34">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf35">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the number of observation points on the undulating surface; <inline-formula id="inf36">
<mml:math id="m39">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the interpolation weighting matrix for calculating <inline-formula id="inf37">
<mml:math id="m40">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> based on the forward field <inline-formula id="inf38">
<mml:math id="m41">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of multiple horizontal layer magnetic fields, whose dimension is <inline-formula id="inf39">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf40">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the number of observation points of forward field <inline-formula id="inf41">
<mml:math id="m44">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of multiple horizontal layer magnetic fields. Both <inline-formula id="inf42">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf43">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are local upward continuation matrices, among which matrix <inline-formula id="inf44">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> calculates the magnetic field of the undulating surface by continuation from the magnetic field on the horizontal plane, whose dimension is <inline-formula id="inf45">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Matrix <inline-formula id="inf46">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is used to calculate the magnetic field values of the eight observation points on the horizontal planes around the observation point on the undulating surface by continuation from the magnetic field on the horizontal plane, whose dimension is <inline-formula id="inf47">
<mml:math id="m50">
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Matrix <inline-formula id="inf48">
<mml:math id="m51">
<mml:mrow>
<mml:mi mathvariant="bold">J</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the observation point extraction matrix, which is used to extract the magnetic field values of the eight observation points around the observation point on the undulating surface from matrix <inline-formula id="inf49">
<mml:math id="m52">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, whose dimension is <inline-formula id="inf50">
<mml:math id="m53">
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Matrix <inline-formula id="inf51">
<mml:math id="m54">
<mml:mrow>
<mml:mi mathvariant="bold">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the trilinear interpolation weighting matrix, which is used to perform weighted summation of the magnetic field values of the eight observation points around the observation point on the undulating surface, whose dimension is <inline-formula id="inf52">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>8</mml:mn>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>The basic formula (<xref ref-type="disp-formula" rid="e4">Equation 4</xref>) for extending from the original spatial point <inline-formula id="inf53">
<mml:math id="m56">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b7;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b6;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> to the calculation point <inline-formula id="inf54">
<mml:math id="m57">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> is as follows (<xref ref-type="bibr" rid="B27">Zeng, 2005</xref>):<disp-formula id="e4">
<mml:math id="m58">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mo>&#xd7;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>m</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mfrac>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3be;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3be;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:msup>
</mml:mfrac>
<mml:mo>&#x394;</mml:mo>
<mml:mi>&#x3be;</mml:mi>
<mml:mo>&#x394;</mml:mo>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where <inline-formula id="inf55">
<mml:math id="m59">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>&#x3be;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf56">
<mml:math id="m60">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are the point distances in the <inline-formula id="inf57">
<mml:math id="m61">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf58">
<mml:math id="m62">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> directions, respectively.</p>
<p>To ensure a good balance between the accuracy and efficiency of the continuation, the continuation height was generally limited to between one and two times the horizontal grid spacing. The number of grid points used for extension for x and y directions is the same and it is denoted by ns ranging from 32 &#xd7; 32 to 128 &#xd7; 128 points. The maximum height of the plane should be higher than the vertex of the undulating surface, and the minimum height of the horizontal plane should be lower than the lowest point of the undulating surface minus one time (<xref ref-type="fig" rid="F2">Figure 2</xref>). This design ensures that the interpolation calculation can fully cover the complex terrain of the undulating surface while ensuring the accuracy and reliability of the calculation results.</p>
<p>Trilinear interpolation was used for error correction. Trilinear interpolation is a linear interpolation method of the tensor-product grid of three-dimensional discrete sampling data (<xref ref-type="fig" rid="F3">Figure 3</xref>). This method linearly approximates the value of the point (x, y, z) on the local rectangular prism through the data points on the grid, and the interpolation formula (<xref ref-type="disp-formula" rid="e5">Equation 5</xref>) as follows:<disp-formula id="e5">
<mml:math id="m63">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mn>000</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mn>010</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="2.5em"/>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mn>001</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mn>011</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="2.5em"/>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mn>100</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mn>110</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="2.5em"/>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mn>101</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mn>111</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>where <inline-formula id="inf59">
<mml:math id="m64">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the values of the eight corner points used for linear interpolation; <inline-formula id="inf60">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf61">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>,and <inline-formula id="inf62">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are intermediate variables, specifically <inline-formula id="inf63">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf64">
<mml:math id="m69">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf65">
<mml:math id="m70">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf66">
<mml:math id="m71">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the coordinates of the interpolation point; and <inline-formula id="inf67">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the coordinate range of the eight corner points.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Schematic diagram of trilinear interpolation.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g003.tif">
<alt-text content-type="machine-generated">A three-dimensional cube diagram labeled with vertices T000 to T111. Black lines define the cube&#x2019;s edges, and dashed lines connect diagonally within the cube. Blue and red dots are positioned on vertices and intersections of the dashed lines, illustrating specific points within the cube.</alt-text>
</graphic>
</fig>
<p>
<inline-formula id="inf68">
<mml:math id="m73">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the values of the eight corner points used for linear interpolation. The red dot represents the interpolation point, and the plane it appears on indicates an interpolation sequence. The interpolation sequence does not affect the interpolation results.</p>
<p>In the calculation, the interpolation weighting matrices, i.e., <inline-formula id="inf69">
<mml:math id="m74">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf70">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf71">
<mml:math id="m76">
<mml:mrow>
<mml:mi mathvariant="bold">J</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf72">
<mml:math id="m77">
<mml:mrow>
<mml:mi mathvariant="bold">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, are all sparse matrices. After removing the zero-valued elements in the above matrices, the storage space can be significantly reduced. Among them, the dimension of matrix <inline-formula id="inf73">
<mml:math id="m78">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can change from <inline-formula id="inf74">
<mml:math id="m79">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf75">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf76">
<mml:math id="m81">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the number of observation points used for local continuation. During calculation, the value of p ranging from 32 to 128 can meet the calculation accuracy requirements; the dimension of the matrix <inline-formula id="inf77">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can change from <inline-formula id="inf78">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf79">
<mml:math id="m84">
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>; the dimension of the matrix <inline-formula id="inf80">
<mml:math id="m85">
<mml:mrow>
<mml:mi mathvariant="bold">J</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can change from <inline-formula id="inf81">
<mml:math id="m86">
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf82">
<mml:math id="m87">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>; the dimension of the matrix <inline-formula id="inf83">
<mml:math id="m88">
<mml:mrow>
<mml:mi mathvariant="bold">P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can change from <inline-formula id="inf84">
<mml:math id="m89">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>8</mml:mn>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf85">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. By reducing the dimension of the above matrices, the fast calculation can be completed with only a small amount of computation cost.</p>
</sec>
<sec id="s2-3">
<title>2.3 Fast algorithm for magnetic anomaly of undulating surface</title>
<p>Based on the magnetic forward model in <xref ref-type="disp-formula" rid="e2">Equations 2</xref>, <xref ref-type="disp-formula" rid="e3">3</xref>, the Tikhonov (<xref ref-type="bibr" rid="B28">Tikhonov and Arsenin, 1977</xref>) regularization objective function, <inline-formula id="inf86">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>&#x3c6;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, was constructed as follows:<disp-formula id="e6">
<mml:math id="m92">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c1;</mml:mi>
<mml:mi>&#x3c6;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>where <inline-formula id="inf87">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the expected susceptibility model, <inline-formula id="inf88">
<mml:math id="m94">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the regularization factor; <inline-formula id="inf89">
<mml:math id="m95">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the fitting difference objective function of the magnetic field, <inline-formula id="inf90">
<mml:math id="m96">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is the Tikhonov regularization objective function, <inline-formula id="inf91">
<mml:math id="m97">
<mml:mrow>
<mml:mi mathvariant="bold">D</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the diagonal data covariance matrix, where the elements on its diagonal are the estimated data noise variance, <inline-formula id="inf92">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the reference model, <inline-formula id="inf93">
<mml:math id="m99">
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the model weighting matrix, and <inline-formula id="inf94">
<mml:math id="m100">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the measured magnetic field value.</p>
<p>The inverse calculation determines the minimum solution value of the objective function (<xref ref-type="disp-formula" rid="e6">Equation 6</xref>). The gradient at the minimum value of the objective function is 0. The expression for the fixed-point iteration equation of model <inline-formula id="inf95">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in the model space can be obtained as follows:<disp-formula id="e7">
<mml:math id="m102">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold">D</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:mtext mathvariant="bold">DQ</mml:mtext>
<mml:msub>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:msup>
<mml:mi mathvariant="bold">W</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold">W</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:msubsup>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:msup>
<mml:mi mathvariant="bold">D</mml:mi>
<mml:mi mathvariant="bold">T</mml:mi>
</mml:msup>
<mml:mi mathvariant="bold">D</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">&#x394;</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">T</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mi>s</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">M</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold">&#x3c6;</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>In this study, the three-dimensional inversion result of the magnetic susceptibility was obtained by applying the conjugate gradient algorithm to solve <xref ref-type="disp-formula" rid="e7">Equation 7</xref>.</p>
</sec>
</sec>
<sec id="s3">
<title>3 Theoretical model experiments</title>
<p>Theoretical model tests were conducted for computation and testing on a computer with a processor speed of 2.20 GHz and a memory of 64 GB. This was the mainstream computer configuration for notebook workstations.</p>
<sec id="s3-1">
<title>3.1 Efficiency comparison of forward modeling calculation</title>
<p>To compare the computational efficiency of the algorithms, models of different scales were used for comparative tests. The size of the prisms used to subdivide the underground space was 2 &#xd7; 2 &#xd7; 2 m. The number of subdivide cells of the model ranged from 9,216 to 45, 278, 208 (<xref ref-type="table" rid="T1">Table 1</xref>), and the latter is 4,913 times greater than the former. The lowest point of the undulating surface was 3 m, the highest point was set at 11 m, the maximum height difference was 8 m, and the spacing between the horizontal observation surfaces was 2 m.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>The number of the subdivided cells and computational efficiency for different models.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Serial number</th>
<th align="center">Grid division</th>
<th align="center">Number of subdivided cells</th>
<th align="center">Computing time by traditional method (Hour)</th>
<th align="center">Computing time by fast algorithm (Hour)</th>
<th align="center">Speedup ratio</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">1</td>
<td align="center">32 &#xd7; 32 &#xd7; 9</td>
<td align="center">9,216</td>
<td align="center">0.002</td>
<td align="center">0.00013</td>
<td align="center">15</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">64 &#xd7; 64 &#xd7; 18</td>
<td align="center">73,728</td>
<td align="center">0.088</td>
<td align="center">0.00069</td>
<td align="center">126</td>
</tr>
<tr>
<td align="center">3</td>
<td align="center">96 &#xd7; 96 &#xd7; 27</td>
<td align="center">248,832</td>
<td align="center">0.730</td>
<td align="center">0.00190</td>
<td align="center">385</td>
</tr>
<tr>
<td align="center">4</td>
<td align="center">128 &#xd7; 128 &#xd7; 36</td>
<td align="center">589,824</td>
<td align="center">3.221</td>
<td align="center">0.00378</td>
<td align="center">852</td>
</tr>
<tr>
<td align="center">5</td>
<td align="center">160 &#xd7; 160 &#xd7; 45</td>
<td align="center">1,152,000</td>
<td align="center">10.10</td>
<td align="center">0.00682</td>
<td align="center">1,481</td>
</tr>
<tr>
<td align="center">6</td>
<td align="center">192 &#xd7; 192 &#xd7; 54</td>
<td align="center">1,990,656</td>
<td align="center">25.57</td>
<td align="center">0.01097</td>
<td align="center">2,331</td>
</tr>
<tr>
<td align="center">7</td>
<td align="center">224 &#xd7; 224 &#xd7; 63</td>
<td align="center">3,161,088</td>
<td align="center">55.97</td>
<td align="center">0.01633</td>
<td align="center">3,429</td>
</tr>
<tr>
<td align="center">8</td>
<td align="center">256 &#xd7; 256 &#xd7; 72</td>
<td align="center">4,718,592</td>
<td align="center">110.2</td>
<td align="center">0.02295</td>
<td align="center">4,800</td>
</tr>
<tr>
<td align="center">9</td>
<td align="center">288 &#xd7; 288 &#xd7; 81</td>
<td align="center">6,718,464</td>
<td align="center">199.9</td>
<td align="center">0.03208</td>
<td align="center">6,233</td>
</tr>
<tr>
<td align="center">10</td>
<td align="center">320 &#xd7; 320 &#xd7; 90</td>
<td align="center">9,216,000</td>
<td align="center">340.6</td>
<td align="center">0.04255</td>
<td align="center">8,005</td>
</tr>
<tr>
<td align="center">11</td>
<td align="center">352 &#xd7; 352 &#xd7; 99</td>
<td align="center">12,266,496</td>
<td align="center">551.1</td>
<td align="center">0.05579</td>
<td align="center">9,877</td>
</tr>
<tr>
<td align="center">12</td>
<td align="center">384 &#xd7; 384 &#xd7; 108</td>
<td align="center">15,925,248</td>
<td align="center">854.8</td>
<td align="center">0.06935</td>
<td align="center">12,326</td>
</tr>
<tr>
<td align="center">13</td>
<td align="center">416 &#xd7; 416 &#xd7; 117</td>
<td align="center">20,247,552</td>
<td align="center">1,280</td>
<td align="center">0.08960</td>
<td align="center">14,282</td>
</tr>
<tr>
<td align="center">14</td>
<td align="center">448 &#xd7; 448 &#xd7; 126</td>
<td align="center">25,288,704</td>
<td align="center">1,859</td>
<td align="center">0.10897</td>
<td align="center">17,058</td>
</tr>
<tr>
<td align="center">15</td>
<td align="center">480 &#xd7; 480 &#xd7; 135</td>
<td align="center">31,104,000</td>
<td align="center">2,631</td>
<td align="center">0.13291</td>
<td align="center">19,795</td>
</tr>
<tr>
<td align="center">16</td>
<td align="center">512 &#xd7; 512 &#xd7; 144</td>
<td align="center">37,748,736</td>
<td align="center">3,641</td>
<td align="center">0.15975</td>
<td align="center">22,791</td>
</tr>
<tr>
<td align="center">17</td>
<td align="center">544 &#xd7; 544 &#xd7; 153</td>
<td align="center">45,278,208</td>
<td align="center">4,939</td>
<td align="center">0.19796</td>
<td align="center">24,952</td>
</tr>
<tr>
<td align="center">18</td>
<td align="center">576 &#xd7; 576 &#xd7; 162</td>
<td align="center">53,747,712</td>
<td align="center">6,585</td>
<td align="center">0.22989</td>
<td align="center">28,642</td>
</tr>
<tr>
<td align="center">19</td>
<td align="center">608 &#xd7; 608 &#xd7; 171</td>
<td align="center">63,212,544</td>
<td align="center">8,641</td>
<td align="center">0.29627</td>
<td align="center">29,167</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For this series of models, forward calculations were performed using both traditional and fast algorithms. The traditional method uses the superposition principle to calculate the forward values of each observation point one by one and does not introduce any acceleration techniques. In the fast algorithm, the range of data points used for local continuation was set as 64 &#xd7; 64 observation points. The number of computation points for the forward calculation was consistent with that of single-layer observation surface and they were randomly distributed with the horizontal center point of the observation grid as the center and a grid spacing as the radius (<xref ref-type="fig" rid="F4">Figure 4</xref>). As the calculation time required for the forward calculation using the traditional algorithm exceeded the practical range, obtaining solutions through complete actual calculations was difficult. To effectively estimate the calculation time, the average time required for a single-point forward calculation was obtained by calculating a limited number of observation points and then multiplying by all of the observation points to obtain the estimated time for completing one forward calculation of this model.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Schematic diagram of the distribution of any measuring points on the undulating surface.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g004.tif">
<alt-text content-type="machine-generated">Three-dimensional topographic surface plot with flowing hills and valleys colored in shades of blue, yellow, and green. Black dots are scattered across the surface. Axes are labeled X and Y in meters.</alt-text>
</graphic>
</fig>
<p>The calculation results (<xref ref-type="fig" rid="F5">Figure 5</xref>) show that the fast algorithm effectively improved the calculation efficiency. With an increase in the number of mesh divisions (<xref ref-type="table" rid="T1">Table 1</xref>), the acceleration effect of the fast algorithm became more notable. In other words, the speedup ratio increased and the maximum speedup ratio in the model example reached 29,167.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Comparison of computing time between the traditional and fast algorithms.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g005.tif">
<alt-text content-type="machine-generated">Line graph comparing calculation time in hours for traditional and fast algorithms across model numbers one to nineteen. The traditional method, shown in blue, increases steeply, while the fast algorithm, in orange, increases moderately, showing a lower range of hours.</alt-text>
</graphic>
</fig>
<p>We note that the acceleration effect shown in the above calculations was not fixed. The speedup ratio was affected by several factors. One of the most important factors was the ratio between the degree of undulation of the terrain and the distance between the planes. If the elevation difference of the curved surface was greater and the plane spacing was smaller, more planes were required to cover the undulating curved surface, resulting in an increase in the number of calculations and a decrease in the speedup ratio.</p>
</sec>
<sec id="s3-2">
<title>3.2 Accuracy analysis of forward modeling computation</title>
<p>The purpose of this experiment was to compare the computational accuracy of three different interpolation methods: one is an interpolation method that only adopts local continuation; the second uses trilinear interpolation to correct all data based on the local continuation interpolation calculation; and the third uses trilinear interpolation to correct only the data at the boundary based on the local continuation interpolation calculation. We compared and analyzed the influence of different data ranges used for local continuation on the computational accuracy of these interpolation methods.</p>
<p>The model used in the test experiment consisted of four cuboidal magnetic bodies (<xref ref-type="fig" rid="F6">Figure 6a</xref>). <xref ref-type="table" rid="T2">Table 2</xref> lists the spatial positions and magnetic susceptibilities of the magnetic bodies. The side length of each model cube was 100 m and the elevation range of the underground space was &#x2212;5,600 to 0 m. The magnetic field dip angle was 60&#xb0; and the magnetic declination was &#x2013;9&#xb0;. The elevation range of the magnetic field undulation observation surface was 205.00 to 1,004.97 m (<xref ref-type="fig" rid="F6">Figure 6b</xref>). The observation points were randomly on an undulating surface with average lateral distance of 100 m in each direction, totaling 39,204 observation points.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Schematic diagram of the model and forward modeling. <bold>(a)</bold> Schematic diagram of the model and undulating interface. <bold>(b)</bold> Schematic diagram of the distribution of measuring points on the undulating interface. <bold>(c)</bold> Calculated magnetic field produced by the model.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g006.tif">
<alt-text content-type="machine-generated">A composite image contains three panels: (a) A 3D visualization showing four pink rectangular prisms under a wavy surface, labeled 1 to 4 with the axes X, Y, and Z in meters. (b) A 3D surface plot with varying elevations and colors, indicating height variations with a color gradient scale. (c) A top view contour map with red and green regions, showing different intensity levels, labeled in nanoTeslas (nT).</alt-text>
</graphic>
</fig>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Parameters of the magnetic body model.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="center">Magnetic model</th>
<th colspan="3" align="center">Coordinate ranges along each cardinal direction of the magnetic bodies (km)</th>
<th rowspan="2" align="center">Magnetic susceptibility (SI)</th>
</tr>
<tr>
<th align="center">X direction</th>
<th align="center">Y direction</th>
<th align="center">Z direction</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Magnetic body1</td>
<td align="center">2.7&#x2013;7.2</td>
<td align="center">13.8&#x2013;16.1</td>
<td align="center">5.0&#x2013;25.0</td>
<td align="center">0.03</td>
</tr>
<tr>
<td align="center">Magnetic body2</td>
<td align="center">13.8&#x2013;16.1</td>
<td align="center">12.7&#x2013;17.2</td>
<td align="center">5.0&#x2013;25.0</td>
<td align="center">0.03</td>
</tr>
<tr>
<td align="center">Magnetic body3</td>
<td align="center">2.7&#x2013;7.2</td>
<td align="center">3.8&#x2013;6.1</td>
<td align="center">5.0&#x2013;25.0</td>
<td align="center">0.03</td>
</tr>
<tr>
<td align="center">Magnetic body4</td>
<td align="center">13.8&#x2013;16.1</td>
<td align="center">2.7&#x2013;7.2</td>
<td align="center">5.0&#x2013;25.0</td>
<td align="center">0.03</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The calculation accuracy of the forward field values of the model (<xref ref-type="bibr" rid="B23">Wu, 2018</xref>) was evaluated using the relative mean square error formula (<xref ref-type="disp-formula" rid="e8">Equation 8</xref>) as follows:<disp-formula id="e8">
<mml:math id="m103">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mtext>err</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:msub>
<mml:mo>&#x2211;</mml:mo>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:msqrt>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where <inline-formula id="inf96">
<mml:math id="m104">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the forward value of the magnetic field theory and <inline-formula id="inf97">
<mml:math id="m105">
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="normal">T</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the forward value of the magnetic field based on the fast algorithm.</p>
<p>To compare the influence of different data ranges in the local continuation on the accuracy, the number of local continuation points selected in the experiment ranged from 32 &#xd7; 32 to 158 &#xd7; 158. The calculation results (<xref ref-type="fig" rid="F7">Figure 7</xref>) show that the forward calculation accuracy of the three interpolation methods improved with an increase in ns. When only the interpolation method of local continuation was adopted, the relative error value first rapidly decreased from 2% to 0.6% (Local continuation interpolation) and converged. When the trilinear interpolation correction was used to correct all of the data, the relative error was basically stable at approximately 0.5% (Local continuation interpolation &#x2b; Trilinear 1). When trilinear interpolation was used to correct only the boundary data, the relative error rapidly decreased from 1.6% and finally stabilized at approximately 0.2% (Local continuation interpolation &#x2b; Trilinear 2).</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Comparison of the computational accuracy. ns (point) denotes the number of grid points in the x and y directions used for upward continuation calculations. The three types of tests are discussed in <xref ref-type="fig" rid="F8">Figure 8</xref> and in the text.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g007.tif">
<alt-text content-type="machine-generated">Line graph showing RMS in percentage against ns (point). Three curves are present: orange for local continuation, green for local continuation plus Trilinear 1, and red for local continuation plus Trilinear 2. Each curve decreases as ns increases from thirty-two to one hundred fifty-six, with the green and red curves converging around 0.5% RMS.</alt-text>
</graphic>
</fig>
<p>Based on the forward modeling error distribution map (<xref ref-type="fig" rid="F8">Figure 8</xref>), when the value of ns was relatively small, the forward modeling errors of the three interpolation methods were mainly distributed in the regions with higher magnetic field anomaly values (<xref ref-type="fig" rid="F8">Figures 8a&#x2013;c</xref>). With an increase in ns, the forward modeling error using only the continuation interpolation method was effectively reduced in the middle area of the data (<xref ref-type="fig" rid="F8">Figures 8a,d,g</xref>), but the error at the data edge did not significantly improve, whereas the forward modeling error when using trilinear interpolation to correct all of the data still remained large in the regions with higher magnetic field anomaly values; however, the error at the data edge was relatively small (<xref ref-type="fig" rid="F8">Figures 8b,e,h</xref>). When using trilinear interpolation to correct only the boundary data for forward modeling errors, it combines the advantages of the above two methods, gradually reduces the forward modeling errors in both the central area and edge, and the error distribution is uniform, ultimately achieving the optimal forward modeling accuracy (<xref ref-type="fig" rid="F1">Figures 8c,f,i</xref>).</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Comparison of the calculation errors. <bold>(a&#x2013;c)</bold> are 32-point continuations. <bold>(d&#x2013;f)</bold> are 64-point continuations. <bold>(g&#x2013;i)</bold> are 128-point continuations. <bold>(a,d,g)</bold> are the forward modeling error diagrams calculated only by local continuation interpolation. <bold>(b,c,h)</bold> are the forward modeling error diagrams after correcting all data using trilinear interpolation based on local continuation. <bold>(c,f,i)</bold> are the forward modeling error diagrams after correcting only the data at the boundaries using trilinear interpolation based on local continuation.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g008.tif">
<alt-text content-type="machine-generated">Nine magnetic field gradient maps labeled (a) to (i), showing variations in nanoteslas (nT) with color scales ranging from red (high) to blue (low). Maps (a), (c), and (f) display distinct patterns, while others show more uniform gradients. Each map uses X and Y axes in meters.</alt-text>
</graphic>
</fig>
<p>The experiments show that the local interpolation correction method adopted in this study achieved relatively high calculation accuracy except at the edges.</p>
</sec>
<sec id="s3-3">
<title>3.3 The model study</title>
<p>In this experiment, a forward-field simulation of the measured magnetic field was performed using the model for the accuracy analysis, as described in <xref ref-type="sec" rid="s2-2">Section 2.2</xref>. The subsurface space was divided into 200 &#xd7; 200 &#xd7; 56, totaling 2.24 million prisms. The prisms were set as cubes with side lengths of 100 m. The magnetic field inclination was 60.0&#xb0; and the magnetic declination was &#x2212;9.0&#xb0;. The forward field of this model combination mainly consisted of four local anomalies with distorted isolines (<xref ref-type="fig" rid="F6">Figure 6c</xref>).</p>
<p>The constraint methods for three-dimensional magnetic inversion mainly adopt depth weighting, focusing weighting, and physical property constraints. The physical property constraint sets the maximum magnetic susceptibility to 0.03 SI. The inversion result (<xref ref-type="fig" rid="F9">Figure 9</xref>) was obtained through multiple calculation iterations. Compared with the theoretical model (<xref ref-type="fig" rid="F6">Figure 6a</xref>), the spatial positions and shapes of the four magnetic anomalies had a good degree of coincidence.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Schematic diagram of the three-dimensional inversion result of magnetic susceptibility.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g009.tif">
<alt-text content-type="machine-generated">Three-dimensional graph displaying four identical, abstract structures with purple and pink shading and green bases, arranged in a rectangular layout within a grid. Axes labeled with numerical values ranging from zero to twenty thousand.</alt-text>
</graphic>
</fig>
<p>The inversion results were further sliced in the horizontal (z &#x3d; &#x2212;1,000 m) and vertical directions (<xref ref-type="fig" rid="F10">Figure 10</xref>). The slicing results show that the susceptibility distribution of the 3-D inversion results was mainly located within the spatial range of the theoretical model (blue-dashed box). The overall agreement with the theoretical model was high. This indicates that the forward and inversion algorithms for the undulating terrain proposed in this study have high inversion accuracy.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Slice maps of the three-dimensional inversion results of magnetic susceptibility (blue frame is the range of the theoretical model). <bold>(a)</bold> Horizontal slice of the model. <bold>(b,c)</bold> The vertical slice of the three-dimensional inversion model at the position of the dotted line in <bold>(a)</bold>.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g010.tif">
<alt-text content-type="machine-generated">Geophysical analysis maps display magnetic susceptibility in three sections. Panel (a) shows a plan view with elongated red zones indicating high susceptibility. Panels (b) and (c) depict cross-sectional views along the black dashed lines, highlighting red areas against a scale transitioning from green to red, showing increasing susceptibility values. Each section is labeled with coordinates; X, Y, and Z axes signify distance in meters. A color bar below indicates susceptibility values ranging from negative zero point zero zero two to zero point zero two eight SI.</alt-text>
</graphic>
</fig>
<p>To simulate realistic data application (<xref ref-type="fig" rid="F11">Figure 11a</xref>), a region with typical undulating characteristics was selected from the actual terrain and appropriately modified to be the undulating observation surface of the magnetic field, with an elevation range of 420.8&#x2013;1,402.7 m above sea level (<xref ref-type="fig" rid="F12">Figure 12a</xref>). A sloping plate-shaped magnetic body was set as the target body (<xref ref-type="table" rid="T3">Table 3</xref>). The body sloped northward with a dip angle of 45&#xb0;. The dip angle of the magnetic field was 60.0&#xb0; and the declination angle was &#x2212;9.0&#xb0;. The underground space was divided into 70 &#xd7; 120 &#xd7; 30, totaling 252,000 prisms, which were set as cubes with a side length of 100 m. The lateral average distance between the observation points on the curved surface was approximately 100 m.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Schematic diagram of 3-D forward and inverse modeling of magnetic susceptibility. <bold>(a)</bold> 3-D inclined slab model and schematic diagram of the forward magnetic field. <bold>(b)</bold> 3-D inclined slab model, inverse result, and schematic diagram of the forward magnetic field. <bold>(c)</bold> 3-D inclined slab model, inverse result, and schematic diagram of the forward magnetic field with noise.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g011.tif">
<alt-text content-type="machine-generated">Three graphical models (a, b, c) depict magnetic field variations using a color scale on the right ranging from -14 to 32 nT. Each model shows layered geological formations with colored gradients. Green structures represent different subsurface layers' orientations and depths.</alt-text>
</graphic>
</fig>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Comprehensive diagram of forward and inverse modeling. <bold>(a)</bold> Simulation of the actual undulating observation surface. <bold>(b)</bold> Forward magnetic field on the undulating observation surface. <bold>(c)</bold> Forward magnetic field on the horizontal plane at a height of 822.3 m <bold>(d,e)</bold> Vertical slices of the three-dimensional inversion model at the dotted line in <bold>(a)</bold>. <bold>(f,g)</bold> Two vertical slices of the noise-contaminated magnetic three-dimensional inversion model at the dotted lines in <bold>(a)</bold>.</p>
</caption>
<graphic xlink:href="feart-13-1625616-g012.tif">
<alt-text content-type="machine-generated">Geophysical maps and models depict a region's topography, magnetic anomalies, and magnetic susceptibility. Panel (a) shows topographic contours with elevation depicted in meters. Panels (b) and (c) illustrate magnetic field strength in nanoteslas. Panels (d) through (g) display subsurface magnetic susceptibility sections with depths and horizontal distances in meters. Color scales indicate varying levels of elevation, magnetic field, and susceptibility values.</alt-text>
</graphic>
</fig>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Parameters of the second magnetic body model.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="center">The interface of the Magnetic models</th>
<th colspan="3" align="center">Top and bottom surface range of the oblique plate-shaped body (m)</th>
<th rowspan="2" align="center">Magnetic susceptibility (SI)</th>
</tr>
<tr>
<th align="center">X direction</th>
<th align="center">Y direction</th>
<th align="center">Z direction</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Top interface of the magnetic body</td>
<td align="center">2,550&#x2013;4,450</td>
<td align="center">5,050&#x2013;5,950</td>
<td align="center">100</td>
<td rowspan="2" align="center">0.03</td>
</tr>
<tr>
<td align="center">Bottom interface of the magnetic body</td>
<td align="center">2,550&#x2013;4,450</td>
<td align="center">6,950&#x2013;7,850</td>
<td align="center">2,100</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Based on the above model, forward magnetic field calculations were separately performed on curved surfaces and on a plane at the average elevation of the curved surface (822.3 m). The results show the forward modeling on the curved surface was significantly affected by the undulating observation surface compared with the smoother variations of the magnetic field on the plane (<xref ref-type="fig" rid="F12">Figure 12c</xref>). Additionally, random noise (&#xb1;2 nT) was introduced to evaluate the robustness of the method (<xref ref-type="fig" rid="F11">Figure 11c</xref>).</p>
<p>The three-dimensional inversion adopted the same constraint strategy as in the previous model. The inversion result (<xref ref-type="fig" rid="F11">Figures 11b,c</xref>) was obtained through multiple calculation iterations. The inversion results show a good agreement between the spatial geometry of the inverted magnetic anomalies and the theoretical model (<xref ref-type="fig" rid="F11">Figure 11a</xref>), regardless whether the magnetic field contains noise or not. Furthermore, vertical slices of the inversion results were obtained (<xref ref-type="fig" rid="F12">Figures 12d&#x2013;g</xref>). The slice results show that the susceptibility distribution of the three-dimensional inversion result was mainly located within the spatial range of the theoretical model (blue-dashed box), regardless whether the noise data is contained. The overall coincidence with the theoretical model was high. This further indicates that the forward and inversion algorithms for undulating terrain proposed in this study also had high inversion accuracy in simulating actual situations.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s4">
<title>4 Conclusion</title>
<p>This study proposed a method for improving the calculation efficiency for the three-dimensional forward modeling magnetic anomalies on undulating surfaces. This method has the following characteristics.<list list-type="simple">
<list-item>
<p>(1) The study proposed a new local interpolation combination method. Through two interpolation processes, it integrates the advantages of the upward continuation and trilinear interpolation methods. This method not only has practical physical significance, but also provides stable and reliable interpolation results, effectively ensuring the overall calculation accuracy of the algorithm.</p>
</list-item>
<list-item>
<p>(2) The traditional three-dimensional inversion method for magnetic anomalies on undulating surfaces often requires considerable computing resources during the calculation process. To address this issue, in this study, by fully utilizing the advantages of a fast forward calculation algorithm based on FFT for magnetic anomalies, the computing efficiency of the three-dimensional inversion of magnetic anomalies on undulating surfaces was significantly improved.</p>
</list-item>
</list>
</p>
<p>The algorithm proposed in this study has high potential for parallelism. The execution efficiency of this algorithm should improve with the introduction of parallel-computing technology. It should be noted that this method may not work well if there is significant remanent magnetization or the case that the magnetization is very high or anisotropy.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s5">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/<xref ref-type="sec" rid="s11">Supplementary Material</xref>, further inquiries can be directed to the corresponding authors.</p>
</sec>
<sec sec-type="author-contributions" id="s6">
<title>Author contributions</title>
<p>LJ: Formal Analysis, Writing &#x2013; original draft, Visualization, Methodology. BD: Funding acquisition, Software, Writing &#x2013; review and editing. LQ: Data curation, Methodology, Writing &#x2013; original draft. MX: Writing &#x2013; original draft, Project administration, Data curation. ZS: Writing &#x2013; review and editing, Formal Analysis, Visualization. SS: Software, Writing &#x2013; review and editing, Validation.</p>
</sec>
<sec sec-type="funding-information" id="s7">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research and/or publication of this article. This study is supported by the China Geological Survey Project (DD20230298; DD20240101901; DD202501028) and National Nonprofit Institute Research Grant (No. AS2024J10).</p>
</sec>
<ack>
<p>In particular, I would like to thank the reviewers and the editor for their valuable amendments and suggestions.</p>
</ack>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="ai-statement" id="s9">
<title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec sec-type="supplementary-material" id="s11">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/feart.2025.1625616/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/feart.2025.1625616/full&#x23;supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="DataSheet3.zip" id="SM1" mimetype="application/zip" xmlns:xlink="http://www.w3.org/1999/xlink"/>
<supplementary-material xlink:href="Presentation1.pdf" id="SM2" mimetype="application/pdf" xmlns:xlink="http://www.w3.org/1999/xlink"/>
<supplementary-material xlink:href="DataSheet1.csv" id="SM3" mimetype="application/csv" xmlns:xlink="http://www.w3.org/1999/xlink"/>
<supplementary-material xlink:href="DataSheet2.csv" id="SM4" mimetype="application/csv" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bhattacharyya</surname>
<given-names>B. K.</given-names>
</name>
</person-group> (<year>1964</year>). <article-title>Magnetic anomalies due to prism&#x2010;shaped bodies with arbitrary polarization</article-title>. <source>Geophysics</source> <volume>29</volume> (<issue>4</issue>), <fpage>517</fpage>&#x2013;<lpage>531</lpage>. <pub-id pub-id-type="doi">10.1190/1.1439386</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bhattacharyya</surname>
<given-names>B. K.</given-names>
</name>
</person-group> (<year>1980</year>). <article-title>A generalized multibody model for inversion of magnetic anomalies</article-title>. <source>Geophysics</source> <volume>45</volume>, <fpage>255</fpage>&#x2013;<lpage>270</lpage>. <pub-id pub-id-type="doi">10.1190/1.1441081</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Fast and accurate forward modelling of gravity field using prismatic grids</article-title>. <source>Geophys. J. Int.</source> <volume>2019</volume> (<issue>2</issue>), <fpage>1062</fpage>&#x2013;<lpage>1071</lpage>. <pub-id pub-id-type="doi">10.1093/gji/ggy480</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dai</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Ying</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Kun</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Jiaxuan</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2024</year>). <article-title>Three dimensional fast forward modeling of gravity anomalies under arbitrary undulating terrain</article-title>. <source>Chin. J. Geophys. (In Chinese)</source> <volume>67</volume> (<issue>2</issue>), <fpage>768</fpage>&#x2013;<lpage>780</lpage>. <pub-id pub-id-type="doi">10.6038/Cjg2023q0605</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>David</surname>
<given-names>W. M.</given-names>
</name>
<name>
<surname>Mejer</surname>
<given-names>H. T.</given-names>
</name>
<name>
<surname>Arne</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Inference of unexploded ordnance (UXO) by probabilistic inversion of magnetic data</article-title>. <source>Geophysical Journal International</source> <volume>1</volume> (<issue>1</issue>). <pub-id pub-id-type="doi">10.1093/gji/ggz421</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Davis</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Efficient 3D inversion of magnetic data <italic>via</italic> octree-mesh discretization, space-filling curves, and wavelets</article-title>. <source>Geophysics</source> <volume>78</volume> (<issue>5</issue>), <fpage>J61</fpage>&#x2013;<lpage>J73</lpage>. <pub-id pub-id-type="doi">10.1190/GEO2012-0192.1</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Eppelbaum</surname>
<given-names>L. V.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Study of magnetic anomalies over archaeological targets in urban environments</article-title>. <source>Physics and Chemistry of the Earth</source> <volume>36</volume> (<issue>16</issue>), <fpage>1318</fpage>&#x2013;<lpage>1330</lpage>. <pub-id pub-id-type="doi">10.1016/j.pce.2011.02.005</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hogue</surname>
<given-names>J. D.</given-names>
</name>
<name>
<surname>Renaut</surname>
<given-names>R. A.</given-names>
</name>
<name>
<surname>Vatankhah</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A tutorial and open source software for the efficient evaluation of gravity and magnetic kernels</article-title>. <source>Computers and Geosciences</source> <volume>144</volume>, <fpage>104575</fpage>. <pub-id pub-id-type="doi">10.1016/j.cageo.2020.104575</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jing</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>C. L.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Y. B.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>M. L.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>G. Z.</given-names>
</name>
<name>
<surname>Ji</surname>
<given-names>R. Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Optimization algorithm for rapid 3D gravity inversion</article-title>. <source>Applied Geophysics</source> <volume>16</volume> (<issue>4</issue>), <fpage>507</fpage>&#x2013;<lpage>518</lpage>. <pub-id pub-id-type="doi">10.1007/s11770-019-0781-2</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kirkby</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Duan</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Crustal structure of the eastern arunta region, central Australia, from magnetotelluric, seismic, and magnetic data</article-title>. <source>Journal of Geophysical Research Solid Earth</source> <volume>124</volume> (<issue>8</issue>), <fpage>9395</fpage>&#x2013;<lpage>9414</lpage>. <pub-id pub-id-type="doi">10.1029/2018JB016223</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Long-Wei</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Dai</surname>
<given-names>S. K.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Q. J.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>D. D.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>Fast 3D forward modeling of the magnetic field and gradient tensor on an undulated surface</article-title>. <source>Applied Geophysics</source> <volume>015</volume> (<issue>003</issue>), <fpage>500</fpage>&#x2013;<lpage>512</lpage>. <pub-id pub-id-type="doi">10.1007/s11770-018-0690-9</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Oldenburg</surname>
<given-names>D. W.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Fast inversion of large-scale magnetic data using wavelet transforms and a logarithmic barrier method</article-title>. <source>Geophysical Journal of the Royal Astronomical Society</source> <volume>152</volume> (<issue>2</issue>), <fpage>251</fpage>&#x2013;<lpage>265</lpage>. <pub-id pub-id-type="doi">10.1046/j.1365-246X.2003.01766.x</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>3D magnetization inversion using fuzzy c-means clustering with application to geology differentiation</article-title>. <source>Geophysics</source> <volume>81</volume> (<issue>5</issue>), <fpage>J61</fpage>&#x2013;<lpage>J78</lpage>. <pub-id pub-id-type="doi">10.1190/geo2015-0636.1</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y. G.</given-names>
</name>
<name>
<surname>Oldenburg</surname>
<given-names>D. W.</given-names>
</name>
</person-group> (<year>1996</year>). <article-title>3-D inversion of magnetic data</article-title>. <source>Geophysics</source> <volume>61</volume> (<issue>2</issue>), <fpage>394</fpage>&#x2013;<lpage>408</lpage>. <pub-id pub-id-type="doi">10.1190/1.1443968</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Maurizio</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Xiangyun</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Jamaledin</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Bangshun</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>D.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>Extracting induced and remanent magnetizations from magnetic data modeling</article-title>. <source>Journal of geophysical research. Solid earth</source> <volume>123</volume> (<issue>11</issue>), <fpage>9290</fpage>&#x2013;<lpage>9309</lpage>. <pub-id pub-id-type="doi">10.1029/2017jb015364</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pilkington</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>1997</year>). <article-title>3-D magnetic imaging using conjugate gradients</article-title>. <source>Seg Technical Program Expanded Abstracts</source> <volume>15</volume> (<issue>1</issue>), <fpage>1415</fpage>&#x2013;<lpage>1418</lpage>. <pub-id pub-id-type="doi">10.1190/1.1826377</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pilkington</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>3D magnetic data-space inversion with sparseness constraints</article-title>. <source>Geophysics</source> <volume>74</volume> (<issue>1</issue>), <fpage>L7</fpage>&#x2013;<lpage>L15</lpage>. <pub-id pub-id-type="doi">10.1190/1.3026538</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Portniaguine</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Zhdanov</surname>
<given-names>M. S.</given-names>
</name>
</person-group> (<year>2000</year>). <article-title>3-D magnetic inversion with data compression and image focusing</article-title>. <source>Geophysics</source> <volume>67</volume> (<issue>5</issue>), <fpage>1532</fpage>&#x2013;<lpage>1541</lpage>. <pub-id pub-id-type="doi">10.1190/1.1512749</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Prutkin</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Saleh</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Gravity and magnetic data inversion for 3D topography of the moho discontinuity in the Northern Red Sea area, Egypt</article-title>. <source>Journal of Geodynamics</source> <volume>47</volume> (<issue>5</issue>), <fpage>237</fpage>&#x2013;<lpage>245</lpage>. <pub-id pub-id-type="doi">10.1016/j.jog.2008.12.001</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qiang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>S.</given-names>
</name>
<etal/>
</person-group> (<year>2019</year>). <article-title>A fast forward algorithm for three-dimensional magnetic anomaly on undulating terrain</article-title>. <source>Journal of Applied Geophysics</source> <volume>166</volume>, <fpage>33</fpage>&#x2013;<lpage>41</lpage>. <pub-id pub-id-type="doi">10.1016/j.jappgeo.2019.04.009</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rezaie</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Moradzadeh</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Kalateh</surname>
<given-names>A. N.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Fast 3D inversion of gravity data using solution space priorconditioned lanczos bidiagonalization</article-title>. <source>Journal of Applied Geophysics</source> <volume>136</volume>, <fpage>42</fpage>&#x2013;<lpage>50</lpage>. <pub-id pub-id-type="doi">10.1016/j.jappgeo.2016.10.019</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shengxian</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Center</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Survey</surname>
<given-names>C. G.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A self-constrained 3D inversion and efficient solution of gravity data based on cross-correlation coefficient</article-title>. <source>Journal of Jilin University(Earth Science Edition)</source>. <pub-id pub-id-type="doi">10.13278/j.cnki.jjuese.20170167</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Tikhonov</surname>
<given-names>A. N.</given-names>
</name>
<name>
<surname>Arsenin</surname>
<given-names>V. Y.</given-names>
</name>
</person-group> (<year>1977</year>). <source>Solutions of Ill-posed problems</source>. <comment>Winston, New York</comment>.</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Efficient modelling of gravity effects due to topographic masses using the Gauss&#x2013;FFT method</article-title>. <source>Geophysical Journal International</source> <volume>205</volume> (<issue>1</issue>), <fpage>160</fpage>&#x2013;<lpage>178</lpage>. <pub-id pub-id-type="doi">10.1093/gji/ggw010</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yuan</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Cui</surname>
<given-names>Y. A.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>G. D.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J. X.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>R. W.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>Fast and high accuracy 3D magnetic anomaly forward modeling based on BTTB matrix</article-title>. <source>Chin. J. Geophys. (in Chinese)</source> <volume>65</volume> (<issue>3</issue>), <fpage>1107</fpage>&#x2013;<lpage>1124</lpage>. <pub-id pub-id-type="doi">10.6038/cjg2022P0126</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Zeng</surname>
<given-names>H. L.</given-names>
</name>
</person-group> (<year>2005</year>). <source>Gravity fields and gravity exploration</source>. <publisher-loc>Beijing</publisher-loc>: <publisher-name>Geology Press</publisher-name>.</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zheng</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>R.</given-names>
</name>
<etal/>
</person-group> (<year>2019</year>). <article-title>A fast and accurate gravity forward method for undulating structure model with surface observation</article-title>. <source>Computing techniques for geophysical and geochemical exploration</source>.</citation>
</ref>
</ref-list>
</back>
</article>