gravity-inversion-eval
Backend-agnostic Julia framework for 3D modeling and inversion of gravity data — Nimatullah et al. (2026) (arXiv:2602.03857, 2026)
What this evaluates
Evaluates a 3D gravity inversion framework's ability to recover subsurface density structures from gravity data, measuring both computational efficiency (scaling and speedup) and geological accuracy (recovery of synthetic anomalies and fit to field observations).
Datasets
- Synthetic and Field Gravity Inversion Benchmarks — total ?; splits: test (-1); repo https://github.com/naimat04/GravityInversionGPU.jl
Metrics
speedup(primary) — range: ratio- Ratio of CPU computation time to GPU computation time for constructing the gravity sensitivity matrix. Evaluated across model sizes ranging from 10^3 to 3.3×10^6 rectangular prisms.
gravity_residual_misfit— range: other- Difference between observed and calculated residual gravity anomaly maps. Assessed qualitatively via visual comparison of spatial patterns, amplitudes, and low-magnitude residuals.
Input / output format
Input: Gravity observation data (station coordinates, measured residual Bouguer anomalies) and survey parameters for field data; true density model parameters (geometry, depth, density contrast) for synthetic data.
Output: 3D density contrast model represented as a grid of rectangular prisms, along with the computed gravity response from the inverted model.
Scoring recipe
def evaluate(model, observed_gravity, cpu_time, gpu_time):
calculated_gravity = forward_model(model)
residual_map = observed_gravity - calculated_gravity
speedup = cpu_time / gpu_time
# Accuracy is assessed via visual comparison of residual maps and isosurface geometry
return {"speedup": speedup, "residual_map": residual_map}
Common pitfalls
- GPU speedup is only valid for large models (>10^4 prisms); small models suffer from host-device transfer overhead that dominates runtime.
- Inversion results are evaluated qualitatively via visual comparison of density slices and isosurfaces rather than quantitative error metrics due to the inherent non-uniqueness of gravity data.
- Field data evaluations rely on geological plausibility and residual map similarity without explicit numerical accuracy thresholds or cross-validation splits.
Evidence (verbatim from paper)
Figure 2 shows the computational cost associated with the construction of the gravity sensitivity matrix as a function of model size for both CPU and GPU implementations... yielding one to two orders of magnitude speedup. The close agreement between the two datasets indicates that the inversion successfully captures the major subsurface density variations.
Citation
@misc{nimatullah2026gravityinversiongpu,
title={Backend-agnostic Julia framework for 3D modeling and inversion of gravity data},
author={Nimatullah et al. (2026)},
year={2026},
note={arXiv:2602.03857}
}
- arXiv: 2602.03857