Skip to main content

schupy -- A Python Package for Modeling Schumann Resonances

schupy is an open-source Python package aimed at modeling and analyzing Schumann resonances (SRs), the global electromagnetic resonances of the Earth-ionosphere cavity resonator in the extremely low frequency (ELF) band (<100 Hz).


Installation

pip install schupy

Dependencies

  • numpy >= 1.20
  • scipy >= 1.5 (for exact hypergeometric closed-form calculations)

Features

  • forward_tdte: General forward model for arbitrary source-observer configurations using Legendre polynomial series summation (Bozóki et al., 2019).
  • forward_tdte_pole: Fast axisymmetric forward model assuming that the source is located on the North Pole.
  • forward_hyper: Exact closed-form forward model using Gauss hypergeometric function (Prácser et al., 2021).
  • forward_hyper_pole: Exact closed-form assuming that the source is located on the North Pole.
  • Finite Decay Time (tau): For simulating the effect of lightning continuing currents (Bozóki et al., 2025).
  • Height Models: Mushtak & Williams (2002) knee model and Kulak & Mlynarczyk (2013) day/night model.

Field Components

Component Description Spherical Field Component Measured In
E_Z Vertical electric field $E_Z$ $\text{mV}^2 / \text{m}^2 / \text{Hz}$
B_NS Meridional horizontal magnetic field $B_\theta$ $\text{pT}^2 / \text{Hz}$
B_EW Azimuthal horizontal magnetic field $B_\varphi$ $\text{pT}^2 / \text{Hz}$

Quickstart

1. General Forward Calculation (forward_tdte)

import schupy as sp
import numpy as np

# Define source and observer
source_latitudes = [10.0, 0.0, 0.0]
source_longitudes = [10.0, -80.0, 110.0]
source_intensities = [1e5, 8e4, 7e4]  # C^2 km^2 / s
obs_latitude = 47.6
obs_longitude = 16.7
frequencies = np.arange(4.0, 35.0, 0.1)

# Run model
spectrum = sp.forward_tdte(
    s_lat=source_latitudes,
    s_lon=source_longitudes,
    s_int=source_intensities,
    m_lat=obs_latitude,
    m_lon=obs_longitude,
    freq=frequencies,
    h="mushtak",
    tau=0.0  # Impulsive excitation (Dirac delta)
)

# Access fields as attributes or unpack
print(spectrum.freq)
print(spectrum.E_Z)
print(spectrum.B_NS)
print(spectrum.B_EW)

# Or unpack directly:
E_Z, B_NS, B_EW = spectrum

2. Fast Exact Hypergeometric Model (forward_hyper)

# Exact closed-form solution via Gauss hypergeometric functions (Prácser et al., 2021)
spec_exact = sp.forward_hyper(
    s_lat=source_latitudes,
    s_lon=source_longitudes,
    s_int=source_intensities,
    m_lat=obs_latitude,
    m_lon=obs_longitude,
    freq=frequencies,
)

3. Source at the North Pole (forward_tdte_pole / forward_hyper_pole)

# Observer at colatitude theta = 42.4 degrees
spec_pole = sp.forward_tdte_pole(
    theta=42.4,
    s_int=1.0e5,
    freq=frequencies,
)
# Note: B_NS is identically 0 by rotational symmetry

4. Lightning with Continuing Current (tau > 0)

# Model lightning with a 20 ms decay time constant (Bozóki et al., 2025)
spec_cc = sp.forward_tdte(
    s_lat=[0.0],
    s_lon=[0.0],
    s_int=[1.0e5],
    m_lat=0.0,
    m_lon=60.0,
    freq=frequencies,
    tau=0.020  # 20 ms
)

References & Citation

If you use schupy in your research, please cite:

@article{bozoki2019schupy,
  title = {Modeling Schumann resonances with schupy},
  author = {Boz{'o}ki, Tam{'a}s and Pr{'a}cser, Ern{\H{o}} and S{'a}tori, Gabriella and D{'a}lya, Gergely and Kap{'a}s, Korn{'e}l and Tak{'a}tsy, J{'a}nos},
  journal = {Journal of Atmospheric and Solar-Terrestrial Physics},
  volume = {196},
  pages = {105144},
  year = {2019},
  doi = {10.1016/j.jastp.2019.105144}
}

Additional foundational literature implemented in schupy:

  • Bozóki, T. et al. (2025): Modeling the Global Electromagnetic Resonance Field Produced by Lightning Discharges With a Continuing Current, J. Geophys. Res. Atmos., 130, e2025JD043989.
  • Prácser, E. et al. (2021): Two Approaches for Modeling ELF Wave Propagation in the Earth-Ionosphere Cavity With Day-Night Asymmetry, IEEE Trans. Antennas Propag., 69(7), 4093-4099.
  • Kulak, A., & Mlynarczyk, J. (2013): ELF Propagation Parameters for the Ground-Ionosphere Waveguide With Finite Ground Conductivity, IEEE Trans. Antennas Propag., 61(4), 2269-2275.
  • Mushtak, V. C., & Williams, E. R. (2002): ELF propagation parameters for uniform models of the Earth-ionosphere waveguide, J. Atmos. Sol.-Terr. Phys., 64, 1989-2001.

Release files for schupy 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for schupy 2.0.1
File Size Uploaded
schupy-2.0.1.tar.gz 15.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for schupy 2.0.1
File Interpreter ABI Platform
schupy-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 30.1 kB

Release files / schupy-2.0.1.tar.gz

Download URL schupy-2.0.1.tar.gz
Size 15.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7d5c4a8569d8ec682c0b4579ed5e5b3c139a9fa09518f7493e111374f208a78c
BLAKE2b-256 checksum
How to use checksums
6efb24eca109537a7a5879a9a5702cf7792cec3cab2612b2a379ef518e5e6139
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / schupy-2.0.1-py3-none-any.whl

Download URL schupy-2.0.1-py3-none-any.whl
Size 15.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8c95f4f44d90e24241cfd4996405a7d17ba7699733cb457b867cf7deea616b88
BLAKE2b-256 checksum
How to use checksums
08097bcb75082537a12629e6fb036bb4f4f27c5aae46e248318f304ad91f5ba7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

2 release files

1.0.12

1 release file

1.0.11

1 release file

1.0.10

1 release file

1.0.9

1 release file

1.0.8

1 release file

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page