PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
March 2, 2026Earth Science Informatics2 citationsOpen Access

CHarm: C/Python library for spherical harmonic transforms in planetary geodesy

BBBlažej Bucha

Key Points

  • To present CHarm, a library that enhances spherical harmonic transforms for planetary geodesy through improved numerical methods and parallelisation techniques.
  • Developed a C library for spherical harmonic transforms.
  • Implemented forward and backward transforms via specific quadratures.
  • Incorporated spectral gravity-forward modeling routines for different density distributions.
  • Used parallelisation techniques including vectorised instructions, OpenMP, and MPI for performance optimization.
  • Demonstrated numerical stability of double precision transforms up to degree 100,000.
  • Achieved a spatial resolution of 200 meters at Earth's surface.
  • Benchmarked multiple optimization strategies to enhance performance.

Abstract

Abstract In planetary geodesy, shapes and gravitational fields of celestial bodies are often expressed in spherical harmonics. Observing these quantities with ever-increasing spatial resolution challenges numerical implementations of spherical harmonics in aspects such as accuracy, efficiency, memory consumption or runtimes. In this paper, we present CHarm, a C library for spherical harmonic transforms centred around gravitational field and planetary topography modelling. CHarm implements forward transforms by means of the exact Gauss–Legendre and Driscoll–Healy quadratures. Backward transforms are possible up to the second-order potential derivatives, allowing to model quantities encountered in gravimetry and satellite gradiometry. Among features unique to CHarm are spectral gravity-forward modelling routines. They compute gravitational fields implied by topographic masses following constant, lateral and 3D-variable density distributions while supporting global and cap integrations. CHarm can be compiled in single, double and quadruple precision. We demonstrate numerical stability of double precision transforms up to degree 100,000, which corresponds to the 200-m resolution at the Earth’s surface. To boost performance, CHarm exploits three parallelisation techniques: (i) vectorised instructions, (ii) OpenMP for shared-memory parallelisation and (iii) the Message-Passing Interface for parallelisation on shared- and distributed-memory platforms. Besides parallelisation, we discuss and benchmark further strategies to optimise spherical harmonic transforms such as the use of the fast Fourier transform, the Chebyshev recurrences, the equatorial symmetry of Legendre functions, the polar optimisation and processing latitudes in small blocks of a fixed length. The library is accompanied by a Python wrapper called PyHarm. CHarm is available at https://www.github.com/blazej-bucha/charm .

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Blažej Bucha (2026) studied this question.

synapsesocial.com/papers/69a52e26f1e85e5c73bf188bhttps://doi.org/10.1007/s12145-026-02076-z
Ask AI
Helpful
Bookmark
Share
View Full Paper