Skip to main content

EarthScienceKit

Inspectable Earth-system computations for learning and teaching.

PyPI CI Docs Open in Colab JupyterLite

EarthScienceKit 0.2.0 follows the MathematicsKit family structure with seven subpackages and 171 domain models: 162 algebraic equations and nine sampled dynamic models. Every model documents its units, input bounds and applicability. NumPy and SciPy supply mature numerical foundations.

Subpackage Models Focus
plate_tectonics 23 Euler rotation, spreading, subduction, isostasy, flexure, convection, hotspots, cooling
seismology 23 Elastic, surface and head waves, rays, interfaces, magnitudes, pulses, rebound
atmosphere 22 Hydrostatics, dry thermodynamics, humidity, stratification, rotation, Rossby waves, barotropic vorticity
climate 24 Radiation, greenhouse layers, insolation, forcing, feedback, ice-albedo hysteresis, red noise, heat storage, carbon and sea level
oceanography 24 Tides, trochoidal and dispersive waves, density and TEOS-10 cabbeling, dynamic method, Ekman spiral, gyres, two-box overturning, abyssal mixing
geophysics 31 Gravity anomalies, normal gravity and flattening, satellite J2, Stokes's geoid, dipole and Gauss coefficients, paleomagnetic poles, reversal anomalies, Love numbers, GRACE water, Rikitake dynamo
volcanology 24 Decay and radiometric ages, radiocarbon, Pb-Pb, concordia and isochron dating, Rayleigh and crystal fractionation, lattice strain, isotope thermometry, magma viscosity and ascent, Mogi inflation, plume and column heights, VEI

Install and explore

python -m pip install earthsciencekit
# Or from a checkout:
python -m pip install -e '.[dev]'
import numpy as np
from earthsciencekit.climate import simulate_one_box
from earthsciencekit.units import convert

time = convert(np.linspace(0, 100, 201), "year", "s")
result = simulate_one_box(4, 1.2, 2e8, time)
print(result.summary())
figure, axes = result.plot()
animation = result.animate(interval=40)

SI units apply unless an argument explicitly states otherwise. Latitude and angles use radians. Algebraic functions accept scalars and broadcast arrays; finite real quantities and physical bounds are validated. Unit conversions are explicit. Sampled histories copy their arrays, retain labels and support plots and animation export.

Documentation and validation

The Sphinx site has Subpackages, History, Examples and API entry points, MathematicsKit-style cards/hubs and cross-links. Seven history pages connect at least fifteen dated breakthroughs each to the APIs; seven guides explain equations, conventions and independent checks. One executed gallery script per breakthrough provides figures and Python/notebook downloads.

MPLBACKEND=Agg python -m pytest --cov=earthsciencekit --cov-report=term-missing
python -m ruff check .
python -m ruff format --check .
MPLBACKEND=Agg python -m sphinx -E -W --keep-going -b html docs/source docs/_build/html
python -m build

Coverage enforces 100% of production statements, including validators and visualization; test files alone are omitted. This metric does not establish physical applicability. Tests include independent analytic solutions, conservation balances, limiting cases and invalid-input contracts. Exact release results are in VERIFICATION.md; model limits are in docs/source/limitations.rst. The documentation is hosted at https://cpoli.github.io/earthsciencekit/, and notebooks/quickstart.ipynb runs in Colab from the badge above.

Contribute

See CONTRIBUTING.md. Educational models should have explicit equations, units, assumptions, independent benchmarks and an executable example. The MIT license is in LICENSE. Please cite this software using CITATION.cff.

Metadata

Release files for earthsciencekit 0.2.0

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

Source distribution (sdist)

Source distribution for earthsciencekit 0.2.0
File Size Uploaded
earthsciencekit-0.2.0.tar.gz 103.1 kB Details

Built distribution (wheel)

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

Total release size: 234.6 kB

Release files / earthsciencekit-0.2.0.tar.gz

Download URL earthsciencekit-0.2.0.tar.gz
Size 103.1 kB
Tags Source
SHA-256 checksum
How to use checksums
519a0ce8ad252422d61569368edab501becbf0690278b55200f1e0e0b83ddba1
BLAKE2b-256 checksum
How to use checksums
2c0d377a9f875922802bfc7cc1eb1f7ad92a78ad7d52517d332cabfbc27d9dd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / earthsciencekit-0.2.0-py3-none-any.whl

Download URL earthsciencekit-0.2.0-py3-none-any.whl
Size 131.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6e2ad74c6ae53aedd5fdbb03039073aa4312f7f6cc4c8228c9e4ed8df031d840
BLAKE2b-256 checksum
How to use checksums
8c49ec4e711d7703cfd943eb813d7cbb672ea15b5838259a19429a08087eafa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

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