Generic Mapping Tools (GMT) is a mature, open-source collection of approximately 100 command-line tools for processing geographic and Cartesian data and producing high-quality PostScript illustrations, maps, and animations. The system is architected as a modular C library with a central dispatcher executable (`gmt`) that loads and runs individual modules. It supports both a classic mode (direct module calls) and a modern mode (`gmt begin/end`, `gmt subplot`) that manages sessions, figures, and panels. Key entry points include the `gmt` command, the C API (`GMT_Create_Session`, `GMT_Call_Module`), and shell completion scripts. Data flows involve reading grid, table, image, and color palette table (CPT) data from local files or remote servers (via `@` prefix), processing through modules (e.g., `grdimage`, `psxy`, `grdmath`, `grdfilter`), and outputting PostScript, grids, or other formats. External dependencies include netCDF, GDAL, FFTW, PCRE/POSIX regex, PROJ, GSHHG coastlines, and DCW country polygons. The codebase exhibits high craftsmanship with systematic option parsing, a well-defined API, extensive test coverage, and reusable infrastructure components.
Harmonica is a Python library for forward modeling, processing, and inversion of gravity and magnetic data, part of the Fatiando a Terra project. It provides high-performance, Numba-accelerated kernels for computing gravitational and magnetic fields of various geometric bodies (prisms, tesseroids, point masses, ellipsoids, dipoles) and supports equivalent source interpolation, frequency-domain grid transformations (upward continuation, reduction to pole, derivatives), spherical harmonic models (IGRF), and Euler deconvolution. The library is designed for geoscientists and educators, integrating tightly with the scientific Python ecosystem (xarray, scikit-learn, pygmt, verde). It features a scikit-learn-like API for its gridder classes, extensive documentation and testing, and is actively maintained as part of the Fatiando project. While its core functionality is domain-specific, the code exhibits strong software engineering practices: modular architecture, Numba JIT compilation, consistent interfaces, and comprehensive CI/CD.
pyGIMLi is a mature open-source geophysical modelling and inversion library, implemented as a C++ core with Python bindings. It provides mesh generation, finite-element solvers, data containers, and high-level manager classes for methods such as electrical resistivity tomography (ERT), vertical electrical sounding (VES), frequency-domain electromagnetics (FDEM), magnetics, gravity, traveltime, and spectral induced polarization. The library is not a GUI application; it is a programmatic toolkit with Python entry points, example scripts, and a console-app pattern in some managers.