siim — Sliding Ice Incision Model
Coupled glacial–fluvial landscape evolution. siim models bedrock incision by
sliding ice and rivers together, resolving how glaciers and channels jointly
shape mountain topography over geologic time. It ships three coordinated front
ends over one physical core:
siim.siim1d— fast 1D longitudinal-profile modelsiim.siim2d— full 2D landscape-evolution model (in-house driver, D8/D-inf routing, FFT flexure, ADI hillslope diffusion)siim.analytical— closed-form steady-state profiles and regime diagrams from the underlying theory
Python with NumPy/SciPy/Numba — no Fortran and no framework lock-in for the standalone models.
Install
pip install siim-lem
siim runs the full 1D and 2D models standalone on NumPy 2. An optional adapter
lets you drive the 2D model through fastscape/xsimlab
instead of the built-in driver; that stack is conda-only:
conda env create -f environment.yml # optional fastscape adapter
Requires Python ≥ 3.12.
Quickstart
from siim import siim2d
params = {
'U': 1e-3, # rock uplift rate (m/yr)
'zELA': 1500, 'P': 2, 'beta': 1e-2, # climate: ELA + mass balance
'ce': 2e-5, 'Ko': 1e-6, # glacial + fluvial erodibility
'Lx': 100e3, 'Ly': 50e3, # domain size (m)
'nx': 201, 'ny': 101, # grid
'T': 5e6, 'nt': 501, 'nt_out': 51, # 5 Myr run
'seed': 0, # reproducible initial relief noise
'mode': 'C', # bed-memory + sub-grid glacier carving
}
model = siim2d.siim(params)
model.run()
model.plot.landscape(i=-1) # final topography
The 1D model (from siim.siim1d import siim) and the analytical solutions
(from siim.analytical import GeneralProfile) follow the same shape. See the
documentation for the full parameter reference,
guides, and the theory background.
Citing
If you use siim, please cite it via CITATION.cff. A methods
paper is in preparation.
License
MIT © Eric Deal
Release files for siim-lem 0.9.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| siim_lem-0.9.4.tar.gz | 1.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| siim_lem-0.9.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / siim_lem-0.9.4.tar.gz
| Download URL | siim_lem-0.9.4.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6e19da08cd7e683e7c8e899eecc46b36d7d1a1db9d64398109e3c2f506430d6
|
|
BLAKE2b-256 checksum How to use checksums |
c8435643cffe8186ec921d4d9b03ee6bf0194871d067f31d6db266fbebc56b6c
|
| 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 Sep 3, 2026.
Transparency logRelease files / siim_lem-0.9.4-py3-none-any.whl
| Download URL | siim_lem-0.9.4-py3-none-any.whl |
|---|---|
| Size | 262.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
245535fa99597b56348ee87f44e51fd0386be5b6f87502bd95f48d6e3f94973b
|
|
BLAKE2b-256 checksum How to use checksums |
0fecaba07261a30c571b2b660910ecc5aad4d5e7d155f922163d8c6ecac3c2b1
|
| 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 Sep 3, 2026.
Transparency log