earthsciencekit: Earth-System Models in Python#

EarthScienceKit makes the equations behind 9 Earth-science domains computable, inspectable and visualizable. Choose a domain to explore its history, run its examples and inspect its API. NumPy and SciPy provide the numerical foundations; this package connects them to Earth-system concepts.

Plate cooling, seismic pulse, atmospheric pressure, dynamo reversals, climate warming, inertial current, volcano inflation, storm infiltration and a flowline glacier

Browse by domain#

Solid Earth

earthsciencekit.plate_tectonics

Euler plate motion, spreading, subduction, isostasy, flexure and lithosphere cooling.

earthsciencekit.plate_tectonics
earthsciencekit.seismology

Elastic wave speeds, reflection, seismic moment, source pulses and damped response.

earthsciencekit.seismology
earthsciencekit.volcanology

Radiometric dating, isotope and trace-element geochemistry, magma viscosity and ascent, ground deformation and eruption columns.

earthsciencekit.volcanology
earthsciencekit.geophysics

Gravity anomalies, the figure of the Earth, the geoid, the geomagnetic field, paleomagnetism and the dynamo.

earthsciencekit.geophysics

Fluid Earth and Climate

earthsciencekit.atmosphere

Hydrostatic balance, dry thermodynamics, moisture, rotation and parcel ascent.

earthsciencekit.atmosphere
earthsciencekit.climate

Radiative balance, forcing, heat storage, carbon baselines and climate adjustment.

earthsciencekit.climate
earthsciencekit.oceanography

Tides, waves, seawater density, geostrophy, the Ekman spiral, wind-driven gyres and thermohaline boxes.

earthsciencekit.oceanography
earthsciencekit.hydrology

Catchment water balance, Darcy and Dupuit groundwater flow, Theis wells, infiltration, open channels, unit hydrographs, flood routing and evaporation.

earthsciencekit.hydrology
earthsciencekit.glaciology

Glen’s flow law, plastic and shallow-ice profiles, sliding, crevasses, mass balance, sea-ice growth, postglacial rebound, ice-core dating and marine grounding lines.

earthsciencekit.glaciology

Start here#

Quickstart introduces the API. Numerical methods and sampled results explains sampled histories and solver choices. The model guides give equations, units, conventions and applicability limits. Validation policy documents the evidence behind this release and Scope and limitations describes its scope.

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()

Related toolkits

Sibling Python toolkits for learning and teaching, built the same way: