Skip to main content

Python Library: Stochastic Geomorphological Transport for Terrain Erosion Simulation

Project description

geotransport

Stochastic Geomorphological Transport for Terrain Erosion Simulation

Official Source Code Repository

A simulated terrain generated with this method.

A simulated terrain generated with this method.

Project Page

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geotransport-1.0.0-cp312-abi3-win_amd64.whl (9.8 MB view details)

Uploaded CPython 3.12+Windows x86-64

File details

Details for the file geotransport-1.0.0-cp312-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for geotransport-1.0.0-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2f1705eda44a7274e1dcda5c167844ded24cc99986cdf1469d1e7a12479b74f6
MD5 00c27a41865ce755fb312ea826c6a985
BLAKE2b-256 970557218c53cf26d738dc37889ce070ac2c59cd0ec5b3555d19ea72cdd0ae3a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page