Suite of Hydrodynamic, topographic analysis, Landscape Evolution model and visualisation tools
Project description
Scabbard
Python package to design, use or visualise topographic analysis, landscape evolution models and hydro/morphodynamics simulations. Among other, home of GraphFlood (CPU
and GPU
) and CHONK
. This framework is also building a GPU
backend for general purpose landscape modeling.
Built on the shoulder of giants
scabbard
started as a personal codebase and evolved toward a fully-fledge numerical Framework. It uses the robust and battle-tested scientific python
stack (e.g. numpy, scipy, numba, ...
) and geospatial python
(e.g. rasterio
, geopandas
, libgdal
, ...). It also relies on multiple domain-specific libraries to built a future-proof and community-compatible backend: libtopotoolbox
and pytopotoolbox
, fastscapelib
, LSDTopoTool
as well as my own collection of c++
and numba
routines. All the GPU backends use taichi
to ensure cross-platform/hardware compatibility and user-friendly code.
- Free software: MIT license
How to install
pip install pyscabbard
As simple as that. Thanks to github actions allowing smooth CI, you do not have to compile anything yourself.
NOTE: pytopotoolbox
official installation procedure is still WIP. I provide binary wheels within this project (./wheels/pytopotoolbox ). At first import, scabbard
will provide instruction (i.e. a single command line to run).
Features
-
General geomorphic routines
-
Graphflood
: Efficient hydrodynamic modelling, tailored for large scale. CPU and GPU version. -
CHONK/trackscape/popscape
: Long term Landscape Evolution Models.
Usage
Documentation is WIP and will be online soon
Credits
This package was created with Cookiecutter_ and the audreyr/cookiecutter-pypackage
_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _audreyr/cookiecutter-pypackage
: https://github.com/audreyr/cookiecutter-pypackage
======= History
0.0.9 (2024-10-25)
- More fixes on the setup process
- Added a simple GPU ray tracing engine for 3D plots
- Started a unified interface for graphflood
0.0.8 (2024-10-15)
- Cleaning the install process
- Removing problematic legacy imports
- Trimming requirements
- Deprecating older tools relying on packages I do not use anymore
0.0.5 - 0.0.7 (2024-10-15)
- Total refactoring. As Simple as that.
scabbard
is the main tool now, it uses multiple backendsDAGGER
,pytopotoolbox
,fastscapelib
,numba
andtaichi
0.0.3 - 0.0.4 (2023-10-23)
- Fixing couple of bugs on the grid
- Experimental support for DAGGER's experimental stuff
- Adding environment object (WIP, future main structure)
0.0.2 (2023-07-31)
- Adding drainage divide quick extraction tools
- Fixing sea_level/Z0 stuff
0.0.1 (2023-07-25)
- First release on PyPI.
- Adding tools for quick river extraction
- Started a big behind-the-scene refactoring and standardisation (invisible at top level)
- Maintenance and bug fixes
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for pyscabbard-0.0.10-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5520186237e803fbd097c708238488c2a0e3642a83a154f5f4ad777ba20bf185 |
|
MD5 | a20c4c5739de1511a75175619bf615fe |
|
BLAKE2b-256 | a50e6dd2ef7ce3fb62e72a6d97868df25f30003516ad2885c7c093f17a26119b |