geotransport
Stochastic Geomorphological Transport for Terrain Erosion Simulation
Official Source Code Repository
A simulated terrain generated with this method.
Nicholas McDonald Guillaume Cordonnier
Reading the Source Code
This repository contains a minimal reference implementation of our core algorithm - the generalized stochastic integration procedure - and includes example code for reproducing our error convergence plot and computing stochastic linear transport across a digital elevation model.
Note that this repository doesn't contain the full source code to perform the erosion simulation, but a version can be found in soillib. The reason for this separation is that this repository can remain archived with this reference implementation, while soillib can change continuously to adapt to needs.
This also helps keep the reference implementation simple and with minimal assumptions.
Using this Repository
The primary algorithm is implemented as a CUDA kernel operating on a silt::tensor (dependency: silt), exposed to python through nanobind. The easiest way to run the example scripts is to install the wheel file provided in the releases section of this repository using pip.
Repository Structure
/example: Example scripts and data/ext: Submodule dependencies/python: Python bindings generated w. nanobind/source: C++/CUDA primary implementation
Building from Source
Note: Tested and working on Windows
After cloning, update the submodules:
git submodule update --init --recursive
Build from source and install from this repository using pip:
pip install .
Re-building for development:
pip install --no-build-isolation -ve .
Build directly using CMake:
cmake -S . -B build
cmake --build build
Build Wheel Distributable:
pip wheel .
Details
If you are building from source, please follow the instructions in silt to make sure you have all required dependencies.
Metadata
Release files for geotransport 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| geotransport-1.0.0-cp312-abi3-win_amd64.whl | CPython 3.12 | abi3 | Windows x86-64 | Details |
Release files / geotransport-1.0.0-cp312-abi3-win_amd64.whl
| Download URL | geotransport-1.0.0-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 9.8 MB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
2f1705eda44a7274e1dcda5c167844ded24cc99986cdf1469d1e7a12479b74f6
|
|
BLAKE2b-256 checksum How to use checksums |
970557218c53cf26d738dc37889ce070ac2c59cd0ec5b3555d19ea72cdd0ae3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|