Validation

Each model is compared with a result computed in a different way. Every row is also an automated test that fails if the error exceeds its tolerance, and runs on every change. The values on this page are computed from Detectability 0.1.1 when the site starts; nothing is typed in by hand.

CheckGeometry and methodReferenceMax. relative errorTolerance
Analytical limit Prism, gravity, far from the sensor Point mass of the same mass1.9e-5 %0.01 %
Analytical limit Prism, gravity, wide and thin Infinite Bouguer slab, 2πGΔρt0.0099 %0.1 %
Analytical limit Vertical step, gravity, far over the slab Infinite Bouguer slab, 2πGΔρt4.8e-4 %0.01 %
Approximation Vertical cylinder, gravity, on its axis Exact on-axis cylinder formula0.342 %3 %
Independent formula Horizontal cylinder, gravity 2D polygon, 720 sides (Talwani; Won & Bevis)6.6e-12 %0.01 %
Independent formula Vertical dyke, gravity 2D polygon (Won & Bevis)1.9e-13 %1.0e-6 %
Numerical integration Prism, gravity 16³ Gauss–Legendre point masses2.9e-6 %0.001 %
Numerical integration Horizontal cylinder, magnetic 3D dipoles integrated along strike2.2e-7 %0.01 %
Numerical integration Prism, magnetic 16³ Gauss–Legendre point dipoles1.3e-12 %0.001 %
Poisson's relation Sphere, gravity ↔ magnetic Vertical derivative of the gravity sphere1.4e-8 %0.001 %
Poisson's relation Vertical dyke, gravity ↔ magnetic Vertical derivative of the gravity dyke2.2e-8 %1.0e-4 %
Poisson's relation Dipping dyke (60°), gravity ↔ magnetic Vertical derivative of the gravity dyke2.6e-8 %1.0e-4 %
Poisson's relation Vertical contact, gravity ↔ magnetic Vertical derivative of the gravity step3.9e-6 %1.0e-4 %
Reference serviceIGRF-14 main field, 5 sites British Geological Survey IGRF-140.38 nT, 0.0005° 1 nT, 0.002°

Max. relative error: the largest absolute difference along the profile as a percentage of the largest value of the reference (for a single value, the relative difference). Tolerance: the limit at which the test fails. The vertical cylinder is deliberately approximated by a square prism of equal cross-section; its error is that of the approximation.

Prism, gravity, far from the sensor

Analytical limit. Model: Nagy (1966) closed form. Reference: Point mass of the same mass. Example: 4 m cube, centre at 100 m, −2,600 kg/m³.

Prism, gravity, far from the sensor: the model (line) passes through every point of the independent result (circles); the lower panel shows their difference, at most 1.87e−05 % of the peak.
Nagy (1966) closed form (line)   Point mass of the same mass (circles). Lower panel: their difference. Largest difference 1.9e-5 % of the peak (0.111 µGal); tolerance 0.01 %.

Horizontal cylinder, gravity

Independent formula. Model: Line-mass closed form. Reference: 2D polygon, 720 sides (Talwani; Won & Bevis). Example: Tunnel of 4 m diameter, axis at 8 m, −2,600 kg/m³.

Horizontal cylinder, gravity: the model (line) passes through every point of the independent result (circles); the lower panel shows their difference, at most 6.58e−12 % of the peak.
Line-mass closed form (line)   2D polygon, 720 sides (Talwani; Won & Bevis) (circles). Lower panel: their difference. Largest difference 6.6e-12 % of the peak (54.5 µGal); tolerance 0.01 %.

Vertical dyke, gravity

Independent formula. Model: Difference of two vertical steps. Reference: 2D polygon (Won & Bevis). Example: 4 m wide dyke from 3 to 15 m, +500 kg/m³.

Vertical dyke, gravity: the model (line) passes through every point of the independent result (circles); the lower panel shows their difference, at most 1.89e−13 % of the peak.
Difference of two vertical steps (line)   2D polygon (Won & Bevis) (circles). Lower panel: their difference. Largest difference 1.9e-13 % of the peak (41.3 µGal); tolerance 1.0e-6 %.

Prism, gravity

Numerical integration. Model: Nagy (1966) closed form. Reference: 16³ Gauss–Legendre point masses. Example: 6 × 8 m room from 2 to 6 m, −2,200 kg/m³.

Prism, gravity: the model (line) passes through every point of the independent result (circles); the lower panel shows their difference, at most 2.89e−06 % of the peak.
Nagy (1966) closed form (line)   16³ Gauss–Legendre point masses (circles). Lower panel: their difference. Largest difference 2.9e-6 % of the peak (111 µGal); tolerance 0.001 %.

Horizontal cylinder, magnetic

Numerical integration. Model: 2D line dipole. Reference: 3D dipoles integrated along strike. Example: Pipe of 2 m diameter, axis at 6 m, 0.01 SI, main field of Sivas, profile azimuth 30°.

Horizontal cylinder, magnetic: the model (line) passes through every point of the independent result (circles); the lower panel shows their difference, at most 2.23e−07 % of the peak.
2D line dipole (line)   3D dipoles integrated along strike (circles). Lower panel: their difference. Largest difference 2.2e-7 % of the peak (5.38 nT); tolerance 0.01 %.

Prism, magnetic

Numerical integration. Model: Gradient tensor and Poisson's relation. Reference: 16³ Gauss–Legendre point dipoles. Example: 5 × 6 m block from 4 to 7 m, 0.01 SI, sensor 0.5 m above ground, azimuth 30°.

Prism, magnetic: the model (line) passes through every point of the independent result (circles); the lower panel shows their difference, at most 1.26e−12 % of the peak.
Gradient tensor and Poisson's relation (line)   16³ Gauss–Legendre point dipoles (circles). Lower panel: their difference. Largest difference 1.3e-12 % of the peak (17.4 nT); tolerance 0.001 %.

Sphere, gravity ↔ magnetic

Poisson's relation. Model: Magnetic dipole. Reference: Vertical derivative of the gravity sphere. Example: Radius 3 m, centre at 12 m, at the pole.

Sphere, gravity ↔ magnetic: the model (line) passes through every point of the independent result (circles); the lower panel shows their difference, at most 1.36e−08 % of the peak.
Magnetic dipole (line)   Vertical derivative of the gravity sphere (circles). Lower panel: their difference. Largest difference 1.4e-8 % of the peak (5.21 nT); tolerance 0.001 %.

Vertical dyke, gravity ↔ magnetic

Poisson's relation. Model: Magnetic 2D polygon (surface charge). Reference: Vertical derivative of the gravity dyke. Example: 4 m wide, from 3 to 20 m, at the pole.

Vertical dyke, gravity ↔ magnetic: the model (line) passes through every point of the independent result (circles); the lower panel shows their difference, at most 2.18e−08 % of the peak.
Magnetic 2D polygon (surface charge) (line)   Vertical derivative of the gravity dyke (circles). Lower panel: their difference. Largest difference 2.2e-8 % of the peak (77.7 nT); tolerance 1.0e-4 %.

Dipping dyke (60°), gravity ↔ magnetic

Poisson's relation. Model: Magnetic 2D polygon (surface charge). Reference: Vertical derivative of the gravity dyke. Example: 4 m wide, from 3 to 20 m, at the pole.

Dipping dyke (60°), gravity ↔ magnetic: the model (line) passes through every point of the independent result (circles); the lower panel shows their difference, at most 2.55e−08 % of the peak.
Magnetic 2D polygon (surface charge) (line)   Vertical derivative of the gravity dyke (circles). Lower panel: their difference. Largest difference 2.6e-8 % of the peak (68.7 nT); tolerance 1.0e-4 %.

Vertical contact, gravity ↔ magnetic

Poisson's relation. Model: Magnetic 2D polygon. Reference: Vertical derivative of the gravity step. Example: Slab from 5 to 40 m, at the pole.

Vertical contact, gravity ↔ magnetic: the model (line) passes through every point of the independent result (circles); the lower panel shows their difference, at most 3.95e−06 % of the peak.
Magnetic 2D polygon (line)   Vertical derivative of the gravity step (circles). Lower panel: their difference. Largest difference 3.9e-6 % of the peak (70.9 nT); tolerance 1.0e-4 %.

IGRF-14 main field

The main geomagnetic field is computed from the official IAGA IGRF-14 coefficients and compared with the British Geological Survey's IGRF-14 web service. The service rounds to 1 nT and 0.001°, so differences below 0.5 nT and 0.0005° are within its rounding. Tolerance: 1 nT and 0.002°.

SiteDateTotal field (nT)Δ Declination (°)ΔInclination (°)Δ
Sivas, Türkiye2026-07-0148,567+0.04 6.313+0.0001 58.373-0.0001
Cape Town, South Africa2026-07-0124,996-0.36 -26.673+0.0001 -64.631+0.0001
Canadian Arctic2026-07-0157,831+0.17 -0.041+0.0001 85.147+0.0003
Amazon, 5 km altitude2026-07-0126,671+0.31 -16.840+0.0002 8.983+0.0001
London, United Kingdom2012-03-1548,635+0.38 -1.345-0.0005 66.469-0.0001

Reproduce

The cases live in the library (detectability.validation) and run with its tests. To print this table or run the tests:

git clone https://github.com/mukremin-nergiz/detectability
cd detectability
pip install -e ".[test]"
python -m detectability.validation
pytest

See the Method page for the models and references.