GeoPulse
GitHub · PyPI · Issues · Releases · Changelog
Unified engine for geomagnetically induced currents (GIC), induced voltages, and total harmonic distortion across grounded infrastructure — submarine cables, power grids, oil/gas pipelines, and electrified railways — from a single, modular, extensible core.
GeoPulse is a scientific-Python engine intended to accompany
peer-reviewed publications. Every stage carries uncertainty via the
Uncertain type, and the surface
impedance Z is a single polymorphic abstraction spanning 1-D scalar,
2-D tensor, and (planned) 3-D kernel representations.
Highlights
100 passing tests, reproduces Horton (2012) Table VII and Boteler (1997) DSTL to sub-1 % relative error.
Six-dependency core (
numpy,scipy,matplotlib,h5py,pyyaml,loguru). Everything else is behind optional extras.Modular ABC design (
sources,earth,network,solver,devices) so third-party plugins can slot in via Python entry points.Fully typed (
py.typedmarker);mypyclean.Schema-versioned HDF5 I/O for reproducible archives.
Start here
Reference
Project
Citation
If you use GeoPulse in your research, please cite:
Chakraborty, S., Shi, X., Hartinger, M., Boteler, D., et al. (in preparation). GeoPulse: A unified engine for geomagnetically induced currents across grounded infrastructure.
The engine is Apache-2.0 licensed. The explicit patent grant is deliberate — GeoPulse is intended for use by industry partners as well as academics.